专利摘要:
Abstract "Reclassifying Content" The invention relates in one embodiment to a method which includes receiving a history of interaction with the home screen from a device associated with a user of a social networking system. An order for multiple content frames can be determined based on the history of interaction with the home screen (for example, viewing history, transfer condition, current order of content frames on the home screen, user interaction history if the user has placed it in the Favorites list or marked a particular content frame), user related user information, and device information about device-based events and device condition. Finally, the order for the content frames can be sent to the device. determining order for content frames may be based on the history of interaction with the splash screen, the short time span of content included in the content frames, the popularity of the content, the relevance of the content to the user, or on device-based events.
公开号:BR112015015638A2
申请号:R112015015638
申请日:2013-12-30
公开日:2020-02-04
发明作者:Schafer Daniel;Weaver Daniel;Van Dyke Watzman Joshua;St Clair Luke
申请人:Facebook Inc;
IPC主号:
专利说明:

“RECLASSIFYING CONTENT”
TECHNICAL FIELD [001] This disclosure generally relates to presenting content on mobile devices.
BACKGROUND [002] A social networking system, which may include a social networking site, may allow its users (such as people or organizations) to interact with it and with each other through it. The social network system can, with input from a user, create and store on the social network system a user profile associated with the user. The user's profile may include demographic information, communication channel information, and information about the user's personal interests. The social networking system can also, with input from a user, create and store a record of the user's relationships with other users of the social networking system, as well as providing services (eg, wall posts, photo sharing, organization event, message exchange, games, or advertisements) to facilitate social interaction between two or more users.
[003] The social network system can transmit one or more content or network messages related to its services to a mobile or other computing device of a user. A user can also install software applications on a mobile or other user's computing device to access a user's user profile and other data within the social networking system. The social networking system can generate a personalized set of content objects for display to a user, such as a new news package of aggregated histories from other users connected with the user.
[004] A mobile computing device - such as a smartphone, tablet computer, or laptop computer - may include functionality to determine its location, direction, or orientation, such as a GPS receiver, compass, or gyroscope. Such a device may also include functionality for
2/95 wireless communication, such as BLUETOOTH communication, short-distance field (NFC) communication, or infrared (IR) communication or communication with wireless local area networks (WLANs) or cell phone network. Such a device can also include one or more cameras, scanners, touch screens, microphones, or speakers. Mobile computing devices can also run software applications, such as games, Web browsers, or social networking applications. With social networking applications, users can connect, communicate, and share information with other users on their social networks.
SUMMARY [005] In particular embodiments, a socialized panel can appear as a “home” screen on a mobile device. The socialized panel can be provided for display when the user, by way of illustration and not limitation, presses the “start” button, activates a top-level menu, locks the mobile device, closes an application, or makes or cancels a call using the mobile device. In particular embodiments, the socialized panel can include interactive elements that correspond to the social network functionality. In particular embodiments, the socialized panel may include an area for displaying social activity notifications from the social network system, such as, for example, the package of new news and notifications, along with messages received (for example, call information missed messages, SMS messages, or system messages).
[006] The user may be able to interact with the elements on the socialized panel (or a limited subset of it) without starting an application or unlocking the mobile device. For example, the user can make a comment or “like” a condition update or SMS message or accept / decline a calendar invitation from the socialized panel. The elements
3/95 displayed by the socialized panel can be updated in real time as content is generated or uploaded to the social network system.
[007] In particular embodiments, the socialized panel (or a subset of its features) may appear or be integrated with the mobile device's lock screen. In particular embodiments, scrolling can be performed by pressing the screen of the socialized panel to unlock the mobile device. In particular embodiments where the user has a PIN lock, scrolling by pressing the socialized panel screen will take the user to the PIN screen.
[008] In particular embodiments, the appearance of the socialized panel can be customized for a user of a system and social network. For example, a home screen interface (appearing either in the background or in the foreground) on the socialized dashboard can comprise a series of content frames, each of which can include the user's profile photo, other content (for example , images and / or text) associated with the user's profile, content associated with connected social network users or entities or otherwise associated with the user (for example, news package content), content associated with users or entities of the social network sharing an affinity with the user, or sponsored stories (including ads).
[009] In particular embodiments, the various content frames appearing on the home screen interface can be periodically updated with new content frames and / or with updates to the content frames already placed in cache on the mobile device. Since any given mobile device can have a limit on the number of frames of content that can be cached on the mobile device for display even when no network connection is available, the various frames of content appearing on the home screen interface as well can be periodically
4/95 again evaluated to determine an appropriate order for display to ensure that different rules and / or principles are preserved, such as, for example: promoting new content frameworks and / or updated content frameworks. In particular embodiments, the evaluation of the order of the content frames can occur completely or at least in part on the server; in order to allow server side assessment, the mobile device can periodically transmit a content frame viewing history back to the server. In particular embodiments, the order evaluation of the content frame can occur in part on the server, which then sends the order of the content frame, any new content frames, and any updates to content frames stored in device-cached memory mobile, and then partly on the mobile device, which can reevaluate the content frame order according to the device-based information.
[010] In particular embodiments, a first phase of content frame order evaluation can take place on the server, in order to preserve particular rules and / or principles that can be easily evaluated by the server, such as, for example: promoting content according to user relevance and / or popularity within a user group. In particular embodiments, a second phase of content frame order evaluation can take place on the mobile device, in order to preserve particular rules and / or principles that can be more easily evaluated by the mobile device, such as, for example: promoting content for which all elements of it have been completely downloaded and cached on the mobile device; and promote frames of content having background images whose orientation corresponds to the current orientation of the mobile device screen. Other rules and / or principles may include, for example: promoting content frameworks including content associated with a social connection
5/95 from the owner of the mobile device, where the mobile device recently received or sent a communication associated with the social connection; and / or keep cached content frames (and retrieve new content frames) when transferring data to and / or from the mobile device reaches a usage limit.
[011] In particular embodiments, the server may send an “activate” command or activation schedule to a device periodically and / or send the content frame order, any new content frames, and any updates to stored content frames cached to the mobile device. Each time a device “activates”, resource consumption can be triggered (for example, battery power consumed and / or data transferred when activating one or more radios, searching for one or more networks, and negotiating a connection to a network ). In particular embodiments, the server can maintain and send to each mobile device a schedule for sending content and / or other data to the device. In particular embodiments, the server can maintain and send, for each mobile device, a schedule to initiate client-side commands to activate the mobile device and to receive content and / or other data from the server.
[012] In particular embodiments, such schedules are designed to control resource consumption by the device, in order, for example, to extend battery life (and avoid exceeding a charge limit) and / or reduce the use of data transfers from the Network (and avoid exceeding a data transfer limit imposed by a cellular service provider). In particular embodiments, such schedules can also be designed to control resource consumption in order to promote uniform battery life across multiple devices, for example, more low-power activation devices more frequently than higher-power devices, low-power activation devices more frequent than
6/95 devices with low energy consumption when they are plugged in and charging the battery, activation devices with higher energy consumption more frequently than devices with high energy consumption when they are connected to a network by a low power radio, etc.
[013] Upon receiving such a schedule, a device can determine when and how often to initiate activation events, based on the schedule, in order to reduce the frequency of activation. For example, if a radio on the device is already actively connected to a network, the device can select to receive content and / or data from the server ahead of schedule, in order to avoid triggering an additional activation event. Conversely, if no radio on the device is currently actively connected to a network, the device can select to delay triggering an activation event (for example, up to 30 seconds), in the event that another event on the device ends triggering an activation event during the delay period. If such a fortuitous event occurs within the delay period, the device can take advantage of the triggering event triggered by using the network connection established to receive content and / or data from the server, otherwise the device can simply trigger an event activation at the end of the delay period.
BRIEF DESCRIPTION OF THE DRAWING [014] FIG. 1 illustrates an illustrative mobile computing device.
[015] FIGS. 2A through 2B illustrate the device with an illustrative socialized panel and home screen.
[016] FIGS. 2C through 2E illustrate examples of the home screen with aspects of social interaction.
[017] FIGS. 2F to 2H illustrate transitions between frames of content on the home screen.
[018] FIGS. 2J to 2K illustrate an application launcher aspect
7/95 illustrative of the socialized panel.
[019] FIGS. 2L to 2M illustrate an illustrative chat aspect of the socialized panel.
[020] FIGS. 2N through 2P illustrate an illustrative overlay of the social interaction aspects at the top of a mobile app.
[021] FIG. 2 is a flow chart of steps in an illustrative method to provide a socialized panel with a splash screen.
[022] FIGS. 4A through 4F illustrate states of a row of illustrative content frames while operating an illustrative classification algorithm for content frames on a home screen.
[023] FIG. 5 is a flowchart of steps in an illustrative method for classifying frames of content on a home screen.
[024] FIGS. 6A through 6C illustrate parallel event timelines for three illustrative devices during operation of an illustrative resource consumption algorithm to serve the content frames.
[025] FIG. 7 is a flow chart of steps in an illustrative method to control resource consumption on the client side by a server.
[026] FIG. 8 illustrates an illustrative network environment associated with a social network system.
[027] FIG. 9 illustrates an illustrative social graph.
[028] FIG. 10 illustrates an illustrative computing system.
DESCRIPTION OF ILLUSTRATIVE ACCOMPLISHMENTS [029] FIG. 1 illustrates an illustrative mobile computing device. This disclosure contemplates the mobile computing device 10 adopting any suitable physical form. In particular embodiments, the mobile computing device 10 can be a computing system as described below. As an example and not by way of limitation, the mobile computing device 10 can be a
8/95 single board computer system (SBC) (such as, for example, a module computer (COM) or module system (SOM), a laptop or notebook computer system, a mobile phone, a smartphone, a digital personal assistant (PDA), a tablet computer system, or a combination of two or more of them. In particular embodiments, the mobile computing device 10 may have a touch sensor 12 as an input component. 1, the touch sensor 12 is embedded in a front surface of the mobile computing device 10. In the case of capacitive touch sensors, there can be two types of electrodes: transmit and receive electrodes These electrodes can be connected to a controller designed to drive the transmission electrodes with electrical pulses and measure changes in capacitance from the receiving electrodes caused by a touch or proximity input In the example in Figure 1, one or m more antennas 14A and 14B can be incorporated on one or more sides of the mobile computing device 10. Antenna 14A and 14B are components that convert electrical current into radio waves and vice versa. During signal transmission, a transmitter applies an oscillating radio frequency (RF) electric current to the antenna terminals 14A and 14B, and antenna 14A and 14B radiates the energy of the applied current as electromagnetic waves (EM). During signal reception, antennas 14A and 14B convert the energy of an incoming EM wave into an electrical voltage at the terminals of antennas 14A and 14B. The electrical voltage can be transmitted to a receiver for amplification.
[030] The mobile device may include a communication component coupled with antennas 14A and 14B for communication with an Ethernet network or other wired-based network or a wireless NIC (WNIC), wireless adapter for communication with a network without using wires, such as, for example, a WI-FI network or modem to communicate with a cellular network, such as third generation mobile telecommunications network (3G), or Long Evolution network
9/95
Term (LTE). This disclosure contemplates any suitable network and any suitable communication component for it. As an example and not by way of limitation, mobile device 10 can communicate with a specific purpose network, a personal area network (PAN), a local area network (LAN), a wide area network (WAN) , a metropolitan area network (MAN), or one or more parts of the Internet, or a combination of two or more of them. One or more parts of the one or more of these networks can be wired or wireless. As another example, mobile device 10 can communicate with a wireless PAN (WPAN) (such as, for example, a WPAN BLUETOOTH), a WI-FI network, a WI-MAX network, a cell phone network (such as such as a Global System for Mobile Communications (GSM), 3G, or LTE network, or another suitable wireless network or a combination of two or more of them. The mobile computing device 10 can include any communication component suitable for any of these networks, where appropriate.
[031] FIG. 2A and 2B illustrate a mobile computing device 10, which is associated with an illustrative social network user Alice Liddell. The mobile computing device 10 includes a displayable region 200 and a navigation bar 210. In particular embodiments, the mobile computing device 10 may display on a socialized instrument panel or “socialized panel” in the region that can be displayed 200 which is a user interface (UI) that can be displayed on the mobile computing device 10 when the user is not actively interacting with an application running on the mobile computing device 10. In particular embodiments, the socialized dashboard can be constantly accessible (that is, “persistent”). As another example and not by way of limitation, a persistent UI or socialized dashboard can be an application that functions as a home or standard screen on the mobile computing device 10,
10/95 as described below. In particular embodiments, the displayable region 200 includes the control ornament 220, which can display an image associated with the user of the mobile device 10 (e.g., Alice's profile photo). Control ornament 220 can provide a convenient shortcut to perform several different actions on the mobile computing device 10 and is described in further detail with respect to FIGS. 2J to 2M. In particular embodiments, the displayable region 200 may also include a condition region 230. Condition region 230 may display a variety of condition information, such as, for example, only the current time, as shown in FIG. 2A, or more detailed information, as shown in FIG. 2B.
[032] As shown in FIG. 2B, in particular embodiments, some notifications and / or interaction items 240A through 240E displayed on a socialized panel can be displayed as an overlay of the underlying user interface (for example, notifications regarding email / text messages / incoming voicemail, social action notifications regarding check-in / tags / comments / “like” interactions / messages / invitations, and device-based notifications regarding alarm alerts / system alerts / reminders / alerts condition). The socialized panel can dynamically aggregate various types of incoming messages, social activity notifications, or content objects from applications installed on the mobile computing device 10, or from the social network system or third party system via a communication protocol. In particular embodiments, the video of the mobile computing device 10 can be blocked, preventing all selected interactions or interactions with the mobile computing device 10. The socialized panel can act as a lock screen when the mobile computing device 10 is in a lock mode. In particular embodiments, when the socialized panel is functioning as a
11/95 blocking, the user may be able to access all or a subset of all aspects of the socialized panel available to the user during normal operation of the mobile computing device 10.
[033] In particular embodiments, notifications and / or interaction items 240 can be updated based at least in part on interactions with the social network system, as illustrated in FIG. 2A. As illustrated in the example of FIG. 2B, social activity notifications associated with the new news package or ticker can be added in real time as content from the social media system is being generated or uploaded to the social media system by users with a user relationship of the mobile computing device 10 based at least in part on the social graph information, as illustrated in the example of FIG. 2B. As another example, the new news package or ticker associated with the user can be updated in real time on the social network system in response to interaction with the social network system through the interactive elements of social network 242. Although this disclosure describes private interactions with particular content objects displayed on the socialized panel, the disclosure contemplates any suitable interactions with any suitable content objects displayed on the socialized panel. In addition, this disclosure includes a socialized panel with an area to display any suitable content objects, such as, for example, stock price alerts, news notifications, or RSS interaction (publication through a really simple distribution agency).
[034] As an example and not by way of limitation, incoming messages may include e-mail, Short Message Service (SMS) or Multimedia Message Service (MMS) messages, voicemail, missed calls from telephone, instant messaging (IM), messages provided by an aspect of the social networking system, etc. As another example, notifications of
12/95 social activity may include notifications of activities by other users in the social network system that relate to the user, such as, for example, friend requests, social events, or social calendars. As another example, notifications of social activities may include notifications of activities by other users on the social network system, such as, for example, condition updates, comments, blog posts, or “Likes” by other users of the network system Social. In the example of FIG. 2B, notifications and / or interaction items 240 may include new news or ticker package items associated with a new news or ticker package provided by the social networking system. In particular embodiments, the new news or ticker package items may be based on information related to the activities by the users of the social network on the social graph for the user of the mobile computing device 10.
[035] In particular embodiments, notifications of social activity can be sent periodically (ie, where transmission is initiated by a server without first receiving a request from the mobile computing device 10), for example, by a system server social network, to computing device 10. Alternatively or in addition, mobile device 10 can receive (i.e., where transmission is initiated by mobile computing device 10 by sending a request to a server) social activity notifications to the device mobile computing 10. As an example and not by way of limitation, the notification and / or interaction items 240 can be naturally generated from applications installed on the mobile computing device 10, generated in connection with the social networking system , or generated by third party systems, such as, for example, a new aggregator. Although this revelation illustrates and describes a socialized panel with an area for displaying particular content objects, this revelation includes a socialized panel with a
13/95 area to display any suitable content objects, such as, for example, stock price alerts, news notifications, or RSS interaction (publication through a distribution agency).
[036] Particular embodiments of a socialized panel may comprise a “home screen” 250 interface (as shown in FIGS. 2A through 2M) that emphasizes the aesthetic aspect and feel of the user interface (more like a luxury magazine or book) , as opposed to a newspaper), in order to personalize the mobile computing device 10 for a particular user (for example, Alice). In the examples illustrated in FIGS. 2A and 2B, the initial screen 250 comprises a content frame including a background image from Alice's social network profile (for example, a photo from Alice's photo album).
[037] The initial screen 250 can comprise one or more frames of content, each of which can incorporate content (such as text, video, an image to display on the background screen (as shown through FIGS. 2A through 2M), or animated images triggered by an application, such as a stock ticker, a motion map trace of any first-degree social graph connections within the user's immediate proximity, or a real-time graph trace of the ten most popular hashtags being used by the user's social graph connections), generic information associated with the content (for example, size, file type, date and / or time when an image was captured and / or posted, resolution, aspect ratio), information social network associated with the content (for example, a caption associated with the image (as shown in FIGS. 2C through 2F, 2H, 2J, and 2L), tags identifying people or objects appearing in the images and single point or area coordinates for each labeled item, condition information (as shown in FIGS. 2C through 2F and 2H) indicating how many people “liked” an image, “censored” an image, or commented on an image), and / or
14/95 interactive social network elements, such as, by way of illustration and not limitation, a button to “Like” a friend's post or to comment on a friend's post. In particular embodiments, a content frame of the initial screen 250 may comprise content stored, sent and / or received by the mobile computing device 10, content retrieved from the user's social network profile and / or social graph, content retrieved from from other user’s online communications accounts, third party content deemed relevant to the user, sponsored materials, advertisements, or content based on the user’s current location (for example, events about to occur near the user’s position, or weather conditions or a forecast for your current location).
[038] As an example and not by way of limitation, the background image of the initial screen 250 can be a photo associated with the user's social network ID, such as, for example, a profile photo. In some embodiments, the background image of the initial screen 250 may be a photo associated with another user or entity or concept represented by a node in a social graphic associated with the social network, with a sponsored article or advertisement, or with other third-party content , such as a background image, icon, logo, or online representation of the person provided by a third party network site or a screenshot of a third party network site. In some embodiments, the background image of the initial screen 250 may be a video or animated image. In some embodiments, instead of (or in addition to) the background image, the socialized panel may feature audio or other multimedia effects.
[039] In particular embodiments, the socialized panel can be displayed in different states of the device (for example, when locking / unlocking the mobile computing device 10, when pressing the “start” button 212 on the navigation bar 210, when turning on the device
15/95 mobile computing 10, when closing an application, when switching mobile computing device 10 to silent, or when disabling / enabling network connectivity). In particular embodiments, the content frame (s) displayed on the home screen 250 may vary depending on the state of the device (for example, if the device has just been turned on, display a content frame with a stored image by the user to their user profile, or if the device is running out of battery or does not have network connectivity, interrupt the transfer of additional content to generate new content frames and only uses cached content frames).
[040] FIGS. 2C through 2E illustrate examples of the initial screen 250 with aspects of social interaction. As shown in FIGS. 2C through 2E, the initial screen 250 comprises a content frame displaying content posted by a user Alice's social connection (ie Mad Hatter) and related information, as well as aspects of social interaction (ie, interactive social network elements with content 242 and interactive social network elements related to user 244). In FIGS. 2C and 2D, the content frames include text that was posted along with a background image of a social tea event posted by the social network user Hatter Mad, while in FIG. 2E, the posted text is not associated with any particular image (for example, a text-only condition update, or a micro-blog post), and then another photo, such as the profile photo of the user who posted the text (ie Mad Hatter user) can instead be displayed as the background image of the content frame. The background image included in the content frame can be displayed initially in order to fit the entire image (as shown in FIG. 2C) or slightly enlarged (as shown in FIG. 2D). In particular embodiments, the user may also be able to enlarge and / or minimize the background image. The home screen 250 can also
16/95 understand a caption 252 that includes information identifying users of the social network that were tagged in the image of the social event of tea, date and location information 254 associated with the post, and condition information 256 indicating how many users of the social network “ like ”the image or commented on the image of the social tea event and identified some of these users.
[041] FIGS. 2F through 2H illustrate transitions between content frames of the initial screen 250. As shown in FIG. 2F, the content frame 250A of the initial screen 250 includes the content posted by Mad Hatter, including the caption 252A, date and location information 254A, and condition information 256A. FIG. 2G illustrates an illustrative scrolling transition, as the content frame 250A rolls to the left side of the screen and the content frame 250B rolls from the right side onto the screen; in particular embodiments, other types of conventional transition between two images displayed on a screen can be provided (for example, dissolution, rotate in / out, jump, roll up / down or left / right, shatter ), including a variety of them. In particular embodiments, transitions can occur in manual mode, such as, for example, when detecting a gesture (for example, dragging your finger) or some other type of user input (for example, click, swing, light stroke), and / or in automatic mode (for example, periodically at predetermined intervals). In some particular embodiments, the mobile computing device 10 can switch between manual and automatic transition mode when detecting a change in the state of the mobile computing device 10 (for example, being in manual mode while held in the user's hand, the device 10 then switches to automatic mode when placed on a flat horizontal surface, placed on a platform, plugged in for loading, or the lock screen is activated). In particular embodiments, when the mobile computing device 10 is on the
17/95 automatic transition mode, the mobile computing device 10 can pause automatic transitions when detecting that the user is no longer viewing the screen (for example, when detecting, using a proximity sensor, that the user has placed the mobile computing 10 next to your head while answering a phone call, covered the screen with your hand, or placed the mobile computing device 10 in a wrapper, such as a box or bag; when detecting, using a gyroscope, that the user released the mobile computing device 10 or inverted the mobile computing device 10 with the screen facing down on a surface; when detecting that the screen has been turned off or that the mobile computing device 10 has been put into silent / vibrate mode; when detecting , using eye tracking sensors, which the user looked away from the screen); or when detecting that the user is engaged in using one of the aspects of social interaction (for example, while the user is typing a reply to a message from another user).
[042] FIGS. 2J to 2K illustrate an aspect of the socialized panel's illustrative app launcher. As illustrated in FIG. 2J, control ornament 220 (also shown in FIGS. 2A and 2L) can be used as a shortcut to access particular features (for example, the application launcher shown in FIG. 2K, or the chat interface shown in 2M). In particular embodiments, these particular features can be accessible from a lock screen displayed on the device. In the example shown in FIGS. 2A and 2J, after the user clicks, touches with the finger, or hovers over control ornament 220 as shown in FIG. 2A, different functionality options appear, as shown in FIG. 2J. In the example shown in FIG. 2J, three functionality options are provided: an icon 222 to access the chat interface shown in FIG. 2M, a 224 icon to access the
18/95 application launcher shown in FIG. 2K, or a 226 icon to return to the most recently used application. In particular embodiments, more or less than three functionality options can be presented; in particular embodiments, the various functionality options presented, the selection of which functionality options to display, and / or the icon images associated with the particular functionality options can be configured by the user - for example, the icon 224 can be re-configured assigned to present an interface for posting content to a social networking site. In particular embodiments, posting to the social network system may include functionality such as, for example, uploading a photo or video, checking in at a location, updating a user's condition, or uploading a comment on content that has been posted to the system social network through a social connection (ie “friend”).
[043] In the example illustrated in FIG. 2J, after functionality option 222, 224, and 226 appear, the control ornament can then be used to select a particular functionality option - for example, if the user placed his finger on the control ornament 220 to cause functionality options 222, 224, and 226 appear, the user can then drag control ornament 220 over a particular functionality option (for example, over icon 224, as shown in FIG. 2J) in order to select it. In particular embodiments, such as where clicking or touching the ornament 220 caused functionality options 222, 224, and 226 to appear, the user may only need to click or touch a particular functionality option in order to select it.
[044] FIG. 2K illustrates an illustrative application launcher where icons 260 are displayed to access different applications. The app launcher can also include a 262 icon to post content to a social network system
19/95 related to a condition update, an icon 264 to access a camera from the mobile computing device 10 or to access an album or photo gallery, and an icon 266 to easily “check in” the user on a network system social for posting content including the user's location. As shown in FIG. 2K, a multi-screen application launcher for icons may additionally display a page 268 indicator. The application launcher interface may appear as an overlay on top of the initial screen 250, as shown in FIG. 2K. In particular embodiments, the application launcher interface can include all applications installed on the mobile computing device 10, or it can only include the most frequently used application, or it can include applications selected for inclusion by the user.
[045] FIGS. 2L to 2M illustrate an illustrative chat aspect of the socialized panel. In the example illustrated in FIG. 2L, after functionality options 222, 224, and 226 appear, the control ornament is then used to select the functionality option represented by icon 222 (chat interface). The chat interface may appear as an overlay at the top of the initial screen 250, as shown in FIG. 2 M. The illustrative chat interface illustrated in FIG. 2M includes several interactive social network elements related to user 244, each of which may have a flag notifying the user (Alice) that unread messages are waiting and how many of these exist for the user identified by each interactive element of user-related social network 244. The illustrative chat interface depicted in FIG. 2M also includes chat messages 270, images 272 to identify the chat participant talking to the mobile computing device 10, and a chat entry area 274.
[046] FIGS. 2N and 2P illustrate an illustrative overlay of the social interaction aspects on top of a mobile app. As shown in FIGS. 2N
20/95 and 2P, the interactive social network element related to user 244 can appear as an overlay over any other application running on the mobile computing device 10 (in the illustrative application illustrated in FIGS. 2N and 2P, a compass application) . As also shown in FIGS. 2N and 2P, the interactive social network element related to the user 244 can identify more than one user and present one or more social network functionalities related to one or more of the identified users. In particular embodiments, different sets of features can be provided for different identified users. As shown in FIG. 2P, notification items and / or interaction with the home screen 240A and 240D (from FIG. 2B) can also appear as an overlay on the application. In particular embodiments, if an underlying application involves, relates to, or otherwise identifies one or more users, the interactive social network element related to the user 244 can select and identify these users for inclusion and availability through the interactive element of social network related to the user 244.
[047] As described above, the socialized panel can provide aspects of social interaction, such as, for example, one or more interactive elements of social network related to the user 242 that correspond to one or more social network functions that can be displayed in relation to the particular content frame being displayed on the home screen 250 and / or one or more interactive social network elements related to the user 244 that correspond to one or more social networking functions that are related to one or more social network users (and may or may not be related to any (any) content framework (s)). In particular embodiments, an interactive social network element related to the user 244 associated with a particular user can also be displayed with a particular content frame where the
21/95 private content has some relationship with the associated user (for example, content presented in the content frame involves, relates to, or otherwise identifies the user).
[048] As an example and not by way of limitation, the interactive elements of the social network related to the content framework 242 may correspond to the functionalities of the social network, such as, for example, a friend aspect (related to network users social marked / identified in the content frame), a “Like” aspect (to “like” the content frame), or a comment aspect (to comment in the content frame), as illustrated in the illustrative structural sketches of FIGS. 2C to 2F and 2H. In particular embodiments, the friend aspect of the social network system may include functionality such as, for example, sending friend requests to users, responding to friend requests from other users, searching for users on the social network system, or accessing profiles of users. users' users on the social networking system. In this document, the term "friend" can refer to any other user of a social networking system with which the user associated with the mobile computing device 10 has formed a connection, association, or relationship via the social networking system.
[049] Interactive social network elements related to the user 244 can provide one or more social network functionalities related to one or more identified users. For example, as shown in FIGS. 2C through 2F and 2H, each interactive social network element related to user 244 (presented as a “chat ornament”) can identify and provide functionality related to only one user, or, as shown in FIGS. 2L to 2M, several users of the social network. The identified user (s) may or may not be connected with the owner of the mobile computing device 10 (ie Alice).
22/95 [050] In particular embodiments, a message exchange functionality of the interactive social network element related to the user 244 may include, for example, displaying the most recent message sent by the identified user, recording a message to the identified user , reply to a message from the identified user, view the number of unread messages from the identified user, change permissions for exchanging messages with respect to the identified user, declination and / or delete messages from the identified user, update attributes associated with the user's relationship to the identified user (for example, labeling the relationship as “Football Teammate” and / or categorizing the relationship as “Married With”), sending / accepting / declining an invitation from the social network to connect to the identified user, view profile information for the identified user, or delete the user River identified from the user social graph. Other features can be attached to the interactive social network element related to the user 244 associated with an identified user, such as location related features (for example, locating the identified user's current location on a map, or map directions to the address user), calendar-related functionality (for example, bringing one or more events for which the identified user is the sender / receiver, or displaying the RSVP condition of the identified user), or any other type of social networking functionality related to the user (for example, presenting a score or condition in relation to a social network game or application).
[051] Interactive social network elements related to user 244 can appear as an overlay on the initial screen 250, as shown in FIGS. 2C through 2F and 2H, as an overlay on one or more applications running on the mobile computing device 10, as shown in FIGS. 2L to 2M, or as an overlay on any other user interface
23/95 displayed on the mobile computing device 10.
[052] In particular embodiments, the user of the mobile computing device 10 can interact with the social networking system through social interaction aspects 242 and 244 without activating an application associated with the social networking system or using a web browser. As an example and not by way of limitation, the user of the mobile computing device 10 can write a message to another user of the social network system by touching an interactive social network element related to the user 244 of the socialized panel. In particular embodiments, the message from the user of the mobile computing device 10 written using the interactive social network element 244 can be sent to the social network system in real time using a communication protocol, as described above. Although this disclosure illustrates and describes a socialized panel with aspects of social interaction corresponding to the particular functionalities of particular computing systems, this disclosure contemplates a socialized panel with any interactive elements corresponding to any suitable functionality of any suitable computing system, such as, for example, one or more social networking systems or third party system.
[053] In particular embodiments, the user of the mobile computing device 10 can interact with the social network system through the social interaction aspects 242 and / or 244 and / or the notification items and / or feed 240 directly from of the socialized dashboard without launching or running an app. As an example and not by way of limitation, the user of the mobile computing device 10 can comment on or “like” a condition update in the social network system through an interactive social network element 242 without activating an application associated with the system social network. In particular embodiments, notification and / or feed 240 items may include options that
24/95 allow the user of the mobile device 10 to interact with the messages received. As an example and not by way of limitation, if the message received is a notification of an SMS message, there may be options corresponding to actions such as, for example, “reply”, “forward”, or “delete”, from the which the mobile device user can select a particular action to take in response to the SMS message, where the particular action can cause another application to start (for example, an SMS application). As another example, if the message received is an item in the new news package that includes a photo, the user can cause the photo to be expanded to cover most or all of the display area via a predetermined touch gesture, and, then, perform social networking interactions related to the photo, such as, for example, commenting, liking, sharing, etc.
[054] As another example, a persistent UI or socialized dashboard can be provided for display on the mobile computing device 10 in response to a user by pressing a “start” button 212, after using or closing an application running on the mobile computing device 10, after completing a phone call on the computing device 10, or in response to any appropriate action. In particular embodiments, the socialized panel can be accessed at any time, including during interaction with an application, by performing a predetermined gesture detected through the touch sensor 12. As an example and not by way of limitation, the user can access the panel socialized by touching and maintaining the top of the displayed area and opening the socialized panel, thereby revealing the interactive elements of social network and messages received from the socialized panel, described below. Although this disclosure illustrates and describes a particular type of computing device, this disclosure contemplates a socialized panel implemented in any suitable type of computing device, such as, for example, a personal computer, a tablet computer, a television
25/95 connected, or a smartphone.
[055] In particular embodiments, the socialized panel can function as an application launcher, be integrated with, or work together with an application launcher. In the example of FIG. 2J to 2K, the app launcher for the socialized dashboard can include one or more interactive elements of the app 250, such as, for example, icons, each of which corresponds to an installed app or a function of the mobile computing device 10. As an example and not by way of limitation, an application or function of the mobile computing device 10 may be executed or “launched” in response to the detection of a predetermined touch gesture, such as, for example, touching an application icon 250 as illustrated in FIG. 2K.
[056] In particular embodiments, the launcher functionality of the socialized panel application can be accessed by performing a predetermined touch gesture, such as, for example, scrolling by pressing the socialized panel. As an example and not by way of limitation, scrolling by pressing may comprise making a touch gesture to slide upwards through the notification items and / or new news package (for example, as shown in FIG. 2B) and continuing to scroll up beyond the notification items and / or new news package. As another example, the socialized panel can be “opened” (for example, by touching and holding the top of the socialized panel and opening it, thereby revealing the interactive elements of the application 56 under the socialized panel. Additionally, the socialized panel can occupy, for example, 5% of the bottom of the screen, so that the user can interact with other applications, etc. The user can drag the socialized panel back to its original position, thereby covering substantially the entire As described above, the socialized panel can function as a lock screen when the mobile computing device 10 is in a lock mode.
26/95 particular embodiments, the mobile computing device 10 can be released from the locked mode in response to making a predetermined touch input, such as, for example, pressing scroll, detected by the touch sensor of the mobile device 10. In embodiments release the mobile computing device 10 from the locked mode may allow interactions with the mobile computing device 10. As an example and not by way of limitation, releasing the mobile computing device 10 from the locked mode can access the launcher functionality of the socialized panel, as illustrated in FIG. 2C. In particular embodiments, if the mobile computing device 10 is protected with a personal identification number (PIN) lock, the mobile computing device 10 can switch from the socialized panel to a PIN screen for the user to provide the PIN to release the device mobile computing device 10 in locked mode.
[057] FIG. 3 is a flow chart of steps in an illustrative method to provide a socialized panel with a splash screen. As described above, the socialized dashboard is designed to present the user with an interface that integrates social network content and social network functionality across the user interface presented by the operating system of the mobile computing device 10 (and possibly completely overlapping or visually obscuring the same).
[058] In step 310, specifications and configurations for the mobile computing device 10 are provided for the social networking system. The specifications and settings of the device can be stored in the user profile of the social network. In particular embodiments, the device's specifications and settings can be automatically provided by the mobile computing device 10 (for example, after the user connects to the device using their social network user ID and password),
27/95 manually (for example, by the user typing in a device identifier when connected to the social network site), or automatically by a third party source (for example, Network service provider, device retailer). Once the social networking system is aware of the device's specifications and settings, it may be able to pre-configure particular aspects of the socialized panel and / or the home screen 250 for the capabilities and / or restrictions of the device (for example , does the device have a touchscreen Is the device capable of detecting touch gestures / three-dimensional gestures on the screen Is the device capable of detecting eye movement The device screen is capable of displaying high resolution images / images three-dimensional / holographic images ).
[059] In step 320, in preparation to send information to the mobile computing device 10 in order to present a socialized panel including a splash screen, the social network server can retrieve user information, such as settings and preferences configured by the user with respect to your social network account (for example, only displaying content on the home screen that is associated with first degree connections), user condition (for example, “Do Not Disturb” condition that indicates that notifications should be suppressed) , and / or social network information (e.g. social graph information, content recently posted by social connections).
[060] In step 330, the social network system can retrieve content from the user's social network, based on user information and device information. Such content can include any type of content, including metadata and other information associated with the content. In particular embodiments, the content may include, for example, content posted or provided by the user, the user's social connections, the users or entities the user is following or with which he is affiliated, or by
28/95 third parties (for example, sponsor ads or advertisements). In particular embodiments, if the retrieved content does not include an image suitable for use as a background image on the mobile computing device 10 (for example, a text-only post, or incompatible image type), the social networking site can retrieve an image that is associated with the retrieved content (for example, the profile image of the user of the social connection who posted the content) to use as a background image. In particular embodiments, the social network system can prioritize, restrict and / or otherwise control content retrieval (for example, when there is an excess of content available due to the fact that the user has an abundant number of social connections that they diligently and often post content) based on any number of factors, by way of illustration and not limitation: degree of separation (with respect to the user who posted the content, user (s) directly identified in the content, or user (s) ) associated with the content by a tag), affinity, relevance, how recent, popularity (as determined, for example, by views, clicks, “Likes”, comments, ratings, re-posts), proximity (for content associated with a particular location, with respect to the user's current location, the user's “home” location, or other location associated with m the user), privacy settings of other users identified or associated with the content, or whether the content is sponsored or not.
[061] In step 340, the social network system can form new frames of content, if necessary. Forming a new content frame can comprise using content retrieved in step 330 (for example, image and accompanying text posted by a social connection plus metadata associated with the posted content, such as time, date, location, user identification markers, more information related to the social network, such as content posted
29/95 in response to posted content, statistics indicating approval / disapproval / popularity / re-distribution / transfers of posted content, and content including or referring to posted content (eg mashups). In particular embodiments, forming a content frame may include modifying the content to adapt the content to the mobile computing device 10 (for example, modifying the image size, resolution, aspect ratio, colors, file size), modifications of the content to adapt the content to the user's preferences and / or settings (for example, displaying / hiding private statistics and / or metadata associated with the content, providing an interactive element of the social network related to the user 244 for each identified or associated user with the content, writing private words), modifying the content to adapt the content according to the privacy settings of other users identified or associated with the content (for example, hiding identifying information from other users, removing contact information and / or functionality for other users, restrict rotate any interactive social network elements related to content 242 from being displayed in order to prevent comments by users).
[062] In step 350, the social network system can form updates for content included in previously formed content frames. For example, if the number of “Likes” has been changed, or if additional comments in response to the content have been posted, or if additional labels identifying other users have been added, then the social network system can form an update to the content on the board. relevant content previously formed with any such information added or modified. In particular embodiments, if the content in the previously formed content frames was provided by a content post that has since been deleted, the social network system can form an update instructing both the mobile computing device 10
30/95 to delete the content frame or indicating that a message should be displayed to inform the user that the content has been removed by who originally posted the content.
[063] In step 360, the social network system can send any (any) content frame (s) and any content updates to the device. In particular embodiments, the social network system can send such new content and updates when one or more conditions are present: receipt of a request from the mobile computing device 10 for new content (for example, when the number of "new" (new or not yet displayed) localized content frames cached on the mobile computing device 10 fall below a particular threshold), receiving an event notification from the mobile computing device 10 (for example, when the mobile device mobile computing 10 is turned on, obtains a Wi-Fi network connection, or connects to a network providing unlimited data access), or at periodic intervals. Any periodic interval can vary based on a number of factors, such as configuration settings to limit data usage or specific image quality, device display attributes (for example, pixel resolution and density), viewing history, patterns of device usage, device sensor input, battery level, network connectivity, bandwidth availability.
[064] In step 370, the social network system can receive data from the device indicating a social network transaction informed on the device by the user, using the socialized panel. For example, if the user responds to a content frame, using an interactive element of the social network related to content 242, in order to “Like” the content, submit a comment regarding the content, or send a friend request to a user marked in association with the content, the social network system can receive
31/95 data sent by the mobile computing device 10.
[065] In step 380, the social network system can update the social graph using the data received and / or notifications sent to other users of the social network based on the data received.
[066] Particular embodiments may repeat one or more steps of the method of FIG. 3, where appropriate. Although this disclosure describes and illustrates particular steps of the method of FIG. 3 as occurring in a particular order, this disclosure contemplates any suitable steps of the method of FIG. 3 occurring in any suitable order. Furthermore, although this disclosure describes and illustrates particular components, devices, or systems performing particular steps of the method of FIG. 3, this disclosure contemplates any suitable combination of any suitable components, devices or systems performing any suitable steps of the method of FIG. 3.
[067] FIGS. 4A through 4F illustrate states of an illustrative row of content frames for a start screen during the operation of a content frame ordering algorithm. In particular embodiments, the social network system can determine a content rating associated with the content frames on the home screen. In particular embodiments, the social network system can determine an order to display the content frames on the home screen to ensure that the “newest” and most interesting content is promoted in the queue of content frames for display to the user. In particular embodiments, a change in the content rating may (or may not) result in a change in the order in which content frames are displayed on the home screen. In particular embodiments, the content frame ordering algorithm can be applied to social network content and other information to continuously determine and update an order for content frames based on which content items were readily viewed by the user,
32/95 in any factor described above (for example, popularity, relevance, social graph connections, affinity, etc.), or in any of the social networking information discussed above. For example, once the user has viewed private content, the order of the content frames can be updated, so that more recent content is promoted in the queue in front of the previously viewed content. In another example, as a previously downloaded content frame increases in popularity (for example, being “Likes” and / or commented on by other users of the social networking system), the order of the content frames can be updated to move the front-row content frame to promote more popular content in front of less popular content. In another example, if content from a previously downloaded content frame is subsequently marked as identifying a user's social connection, the order of the content frames can be updated to move the content frame to the front of the queue to promote more content. relevant. In particular embodiments, information about a user's activities on third-party sites and / or other applications can be a factor in ranking, for example, ranking may be reduced if the user has seen private content on a third-party content site or on another app on their device, or the rating can be improved if the user has subscribed to a particular content channel on a third-party website or another app on their device that is related to the particular content.
[068] In particular embodiments, the content can be continuously classified and ordered again; in some embodiments, the content may be classified and reordered periodically (for example, once per session, or once each time the screen is activated or deactivated). In particular embodiments, updates to the order of the content frames can be continuously and / or periodically sent to the
33/95 mobile computing 10.
[069] For the purpose of illustrating the operation of the illustrative content frame ordering algorithm as applied to the illustrative row of content tables shown in FIGS. 4A through 4F, a white star in the upper right corner of a content frame indicates that the content frame has not yet been displayed, a dark star in the upper right corner of a content frame indicates that the content frame has been displayed, a star dark circled in the upper right corner of a content frame indicates that the content frame is currently available for display on a screen of the mobile computing device 10, and a tack in the upper left corner of a content frame indicates that the content board was “nailed” to the front of the queue for the home screen. A content frame that is currently available for display can currently be displayed on the screen of the mobile computing device 10, it may be the next frame of content that is available for display once the screen of the mobile computing device 10 is activated, or it may be the next frame of content that is available for viewing once the home screen is active on the mobile computing device 10.
[070] In FIG. 4A, the 400C content frame is currently available for display on the mobile computing device 10. The 400C content frame was promoted after the 400A content frame was displayed on the device, and then subsequently moved back into the queue after the initial screen has changed from content frame 400A to content frame 400C. The content frame 400A was previously classified in front of the content frame 400C based on one or more factors considered by the content frame ordering algorithm (for example, most popular, most relevant since a social connection is described, most recently posted for the social network system). Since device condition information indicates that the device is currently
34/95 being kept in portrait orientation, any frames of content with images in portrait orientation are promoted in the queue in front of any frames of content with images in landscape orientation; therefore, although the content frame 400A has already been displayed, the content frame ordering algorithm promotes the content frame 400A in front of the content frames 400B and 400D. The 400B content frame is classified in front of the 400D content frame based on one or more factors considered by the content frame ordering algorithm. The 400E, 400F, 400G, and 400H content frames include content elements that have not been completely downloaded, so they have been demoted to the back of the queue.
[071] In FIG. 4B, the 400E content frame (having been completely downloaded to the mobile computing device 10) is currently available for display on the mobile computing device 10. The 400C content frame has been pushed back in the queue after the initial screen has changed from the 400C content for the 400E content frame. Since the device is currently being held in portrait orientation, any content frames with portrait images are promoted in the queue in front of any content frames with landscape images; therefore, although the 400E content frame was originally ranked behind the 400B and 400D content frames, the content frame ordering algorithm promotes the 400E content frame to be displayed in front of the 400B and 400D content frames (which also remain behind the 400A and 400C content frames in the queue). The 400F, 400G, and 400H content frames include content elements that have not yet been fully downloaded, so they remain at the end of the queue.
[072] In FIG. 4C, the device's condition information indicates that the device is now being held in landscape orientation, so that the 400B and 400D content frames have been promoted to the front of the queue, and the frame
35/95 400B content is currently available for display on the mobile computing device 10. The 400E content frame has been pushed back in the queue (behind the previously displayed 400A, 400C, and 400E content frames) after the home screen has changed the frame 400E content to the 400B content frame. The 400F content frame (having been completely downloaded and not yet displayed) is now the first portrait orientation content frame appearing in the queue (in front of all previously displayed content frames having portrait orientation - 400A, 400C content frames, and 400E). The 400G and 400H content frames include content elements that have not yet been fully downloaded, so they remain at the end of the queue.
[073] In FIG. 4D, the 400A content frame has been “nailed” to the front of the queue, so that it now persists at the front of the queue (regardless of the fact that it is in portrait orientation). In particular embodiments, nailing a content frame to the front of the queue can result in the nailed content frame consistently appearing on the screen of the mobile computing device 10 at particular designated times (for example, when displaying a lock screen). In this example, the mobile computing device has moved to the next frame of content in the queue (400D) after the user has unlocked the device. The content frame 400B, having been displayed, is indented in the row behind the content frame 400D. Since the device is still being held in landscape orientation, any frames of content with images in portrait orientation are indented in the row behind any frames of content with images in landscape orientation. The 400G content frame, which has been completely downloaded and not yet displayed, is now classified in front of 400F content frames based on one or more factors considered by the content frame ordering algorithm (for example, provided the content included in the 400G content frame was most recently posted to the social network system and
36/95 surpassed the content included in the 400F content frame in terms of the number of “Likes” and comments since the last order of the content frame). The 400H content frame includes content elements that have not yet been completely downloaded, so it remains at the end of the queue.
[074] In FIG. 4E, the device's condition information indicates that the device is now being held in portrait orientation; however, the home screen has also been reconfigured to rotate and enlarge frames of content having an orientation not corresponding to the current orientation of the device, so that the orientation is no longer considered by the content frame ordering algorithm. The 400A content board remains nailed to the front of the queue, and once the lock screen has passed, the highly popular 400G content board is made available for display on the mobile computing device 10 (in front of the less popular 400F content board) . The 400H content frame (having been completely downloaded and not yet displayed) now appears in front just behind the 400F content frame (and in front of all previously displayed content frames).
[075] In particular embodiments, when a content frame is enlarged before display, the part of the content frame that is initially displayed in the displayable region 200 may focus on a region of the image that has been marked as identifying the user, a user's social connection, or some other item of significance. In the illustrative content tables illustrated in FIGS. 4E and 4F, the enlarged content frames have been enlarged to focus on a region of the image marked as identifying the user Alice.
[076] In FIG. 4F, the 400A content frame is no longer “nailed” to the front of the queue, and the 400F content frame is now available for display on the mobile computing device 10. The 400A content frame is indented in the back row as the frame of content not yet displayed 400H and additionally behind
37/95 of the content frame already displayed 400G, which is held in a queue position in front of all other content frames already displayed (in this example, the interaction history of the home screen indicates that the user Alice had a high level of interest in the 400G content frame for lingering on it, marking herself in the image, “Liking” the content post, and submitting a comment on the content post she asked to be notified of when any responses to her comment are posted) . The content frames already viewed 400A, 400C, 400E, 400B, and 400D follow the content frame 400G in the order in which they were originally displayed on the mobile computing device 10.
[077] FIG. 5 is a flowchart of the steps in an illustrative method to provide a socialized panel with a home screen for the mobile computing device 10. As described above, the socialized panel is designed to present the user with an interface that integrates social network content and functionality social network across the user interface presented by the operating system of the mobile computing device 10 (and possibly completely overlapping or visually obscuring it).
[078] In step 510, the social network system monitors the user's social network for most recently posted content, updates previously posted user content and profile information, events, messages, notifications, and other social network information.
[079] In step 520, the social network system can receive a history (for example, record of occurrences) of interactions from the home screen from the mobile computing device 10. The interaction history from the home screen can provide information with respect which frames of content the user has viewed, which frames of content still have content that is waiting to complete the transfer, what is the current order for the frames of content, and possibly
38/95 other information, such as, for example, how long the user viewed a particular content frame, whether the user interacted with the content frame (for example, using a social interaction aspect), whether the user returned to bring a previously viewed content frame (for example, by providing a touch gesture entry on the screen), whether the user “marked” a particular content frame or “nailed” a particular content frame as the “home” page, or established a particular content frame as the general background of the device UI or as the background of the lock screen UI.
[080] The social network server can also receive a record of event events or device-based notifications with respect to device-based events (eg, connected device, enabled device screen, connectivity to the established network). In particular embodiments, such an event may be one of the designated opportunities to reassess which frames of content should be included on the home screen and what the order of the frames of content should be. The social network server can also receive device condition information (for example, record of recent device transaction history occurrences (for example, call / text / email / calendar invitation) comprising the user's social connections, with what type the device is currently connected, how much network bandwidth is available for the device, battery level, available memory, etc.).
[081] In step 530, the social network system can retrieve content from the user's social network, as previously described with respect to step 330 of FIG. 3, additionally based on the interaction history of the home screen. In particular embodiments, the device information can also additionally include information received about any events based on the device and the condition information of the device.
[082] In particular embodiments, when the social network system
39/95 prioritizes, restricts, and / or otherwise controls content retrieval, additional factors for consideration may include, by way of illustration and not limitation: the interaction history of the home screen (for example, if the user “Likes ”Each frame of the home screen on which a social connection is marked, searches for content identifying or related to the social connection), device-based events (for example, if the user recently accepted an invitation sent by a particular social connection to play a game running on the device, searches for content identifying or related to the social connection), or the device's condition information (for example, if the device is currently plugged into an outlet in a landscape orientation, searches for content associated with images having a landscape orientation).
[083] In step 540, the social network system can form new content frames or updates to the content included in the previously formed content frames, if necessary. In particular embodiments, the formation of a content framework may include modifying and / or restricting content as previously discussed with respect to step 340, with the addition of possibly also modifying and / or restricting content based on the interaction history of the initial screen ( for example, if the user has erased or hidden each frame from the home screen on which a particular connection is marked, removing any content identifying or related to the social connection), on device-based events (for example, if the user has recently actively declined more than a phone call from a particular social connection, suppress any aspects of social interaction by identifying the social connection), or in the condition information of the device (for example, if the device is currently plugged into an outlet in an orientation of rotate images to be in landscape orientation). In particular embodiments, the social network system may also consider service plan restrictions (for example,
40/95 example, when the user has reached or is close to their monthly data transfer limit) when determining whether or not to form additional additional content frames and / or update previously formed content frames (for example, the network system social can simply form small updates to content, such as updating the number of “likes” that particular content received, or sending an update with instructions to remove a content frame containing content from a post that has since been deleted.
[084] In step 550, the social network system can then determine an order for the content frames on the home screen 250. The order can be based on the interaction history of the home screen, on user information (including social network information related to the user), and / or in the device information. As described with reference to FIGS. 4A through 4F, the order can depend on any number of factors, including, by way of illustration and not limitation: the interaction history of the home screen (for example, in order to promote the display of “recent” content that has not yet been viewed, or to promote content associated with a particular location or particular social connection when the user has returned to similar content frames repeatedly), how recent the content frame was posted to the social network system, the popularity of the content in different frames content, relevance (to the user) of the content in different content frames, or device-based events (for example, if the user recently exchanged SMS / email / phone calls with a particular social connection, promote display of the content by identifying or related to social connection). In particular embodiments, the social network system can also determine the order of the content frames based on client-side considerations / factors discussed in step 590 (for example, when mobile computing device 10 makes it such
41/95 information available for the social network system).
[085] In step 560, the social network system can send the order for the content frames on the initial screen 250 to the mobile computing device 10. At this point, if there are any content frames and / or updates to be sent to the device, such data can also be sent to the device.
[086] In particular embodiments, the order evaluation of the content frames can occur in part on the server, which then sends the order of the content frame, any new content frames and any updates to cached content frames to the mobile device, and then partly on the mobile device, which can reevaluate the order of the content frame according to the information based on the device. A first phase of the content frame order evaluation can take place on the server, in order to preserve particular rules and / or principles that can be more easily evaluated by the server, such as, for example: promoting content frames according to relevance to the user and / or popularity within a user group. A second phase of content frame order assessment can take place on the mobile device, in order to preserve particular rules and / or principles that can be more easily accessed by the mobile device, such as, for example: promoting content frameworks for which all elements of it have been completely downloaded and cached on the mobile device; and promote frames of content having background images whose orientation corresponds to the current orientation of the mobile device screen. Other rules and / or principles may include, for example: promoting content frameworks including content associated with a social connection from the owner of the mobile device, where the mobile device recently received or sent a communication associated with the social connection; maintain cached content frames (and halt recovery
42/95 new content frames) when the transfer of data to and / or from the mobile device approaches a usage limit; and / or the current condition of the device is otherwise not conducive to presenting a particular content frame (for example, the background “image” is a link to a high resolution video clip requiring more memory / processor capacity / battery power / bandwidth than is currently available for the device). In addition, as in step 530, in particular embodiments, the social network system may also consider service plan restrictions (for example, when the user has reached or is close to their monthly data transfer limit) when determining the order for the content frames.
[087] In such situations, the mobile computing device 10 may drop the position of the content frame in the home screen queue or simply delay the presentation of the content frame to the user until all resources are (at least sufficiently) ) available (and then place the content frame at the front of the queue to be next in line for display). The mobile computing device can also update the order of the content frames and send the updated order for the content frames back to the social networking system (step 570).
[088] Particular embodiments may repeat one or more steps of the method of FIG. 5, where appropriate. Although this disclosure describes and illustrates particular steps of the method of FIG. 5 as running in a particular order, this disclosure contemplates any suitable steps of the method of FIG. 5 occurring in any suitable order. In addition, although this disclosure describes and illustrates particular components, devices, or systems performing the particular steps of the method of FIG. 5, this disclosure contemplates any suitable combination of any suitable components, devices or systems performing any suitable steps of the method of FIG. 5.
43/95 [089] FIGS. 6A through 6C illustrate illustrative parallel event timelines showing resource consumption for three illustrative mobile computing devices (10A, 10B, and 10C) while receiving and displaying content and other data provided by a content server (for example, sending events, as indicated by a seven-pointed star in Figures 6A through 6C) on a continuous, periodic, or irregular basis. FIGS. 6A through 6C show the variation in resource consumption (particularly battery power) as between devices 10A through 10C over the course of a day as illustrative devices move between different network environments providing different types of network connections , while receiving sent events, consuming battery power, and recharging your batteries. Events sent initiated by the content server (for example, a server associated with a social networking system) may include submissions of content and / or data (for example, new content frames, updates to previously uploaded content frames, and a updated content frame ordering), notifications that such content and / or data are available for retrieval by the device by sending a request to the content server, and / or "wake up" commands instructing the receiving device to enter a state active and check available content and / or data. Any such content and / or data received by the device is cached for display (for example, caching content frames for display on a home screen). After the content frame has been displayed to the user, it can be removed from the cache, if necessary, to make room for new content. The ebb and flow of new content not yet displayed residing in the devices' caches is illustrated by the gray shaded region.
[090] The 10A to 10C devices vary with respect to their hardware and software specifications and configurations, so that their power consumption profile
44/95 overall power varies from device 10A being the most energy efficient to device 10C being the least energy efficient (with respect to energy consumption, for each device, by its respective processor, by the screen, and by the various radios for 4G LTE / 3G / 802.11abgn network connectivity). For the purpose of this example, device 10B is 25% more energy efficient than device 10C, and device 10A is 50% more energy efficient than device 10C. In addition, for the purpose of this example, the radios provided on each device vary in speed and power consumption in a relatively comparable manner with respect to the other radios on the same device - for example, through all three devices, the 802.11η radio provides the fastest maximum speed, while ranking third in energy consumption (less than the 3G radio, but more than the 802.11b radio), while the 4G LTE radio consumes the maximum energy, while ranking third with respect to maximum speed (faster than 3G, but slower than 802.11 b).
[091] For the purposes of FIGS. 6A through 6C, in order to establish a reasonable comparison of the variance in resource consumption between these three devices (which vary with respect to hardware and software specifications and configurations), the examples presented adopt several assumptions. First, the users of these three illustrative devices move together through these different network environments (and therefore, connect to the same networks at the same time). As shown in FIGS. 6A through 6C, devices are connected with an 802.11 Wi-Fi Network from 00:00 (for example, Home Wi-Fi Network) until 07:00, when users move outside the 802.11η WiFi network range and connect to a 4G LTE network. At 13:00, the user then leaves the range of the $ G LTE network and connects to an older 3G network. Finally, at 7 pm, users move to a range of an 802.11b Wi-Fi network (for example,
45/95 example, in a coffee shop). Second, over the period of time that any particular device is connected to a particular network, a consistent level of bandwidth is provided across all devices and over the entire period of time (for example, 07 : 00 until 13:00, when devices 10A through 10C are connected to the 4G LTE network, a consistent level of bandwidth is provided for each of the devices 10A through 10C over this six hour time period). Third, the battery's energy consumption is mainly due to the operation of the various radios, and consumption for any other cause (eg processor, screen) is negligible. Fourth, while plugged in and charging, each of the devices 10A to 10C is able to manage events sent received without consuming battery power and without slowing down the charging process.
[092] FIG. 6A illustrates parallel event timelines showing battery power consumption for devices 10A and 10C while being served with content and other data by a content server using an illustrative standard schedule to serve content and other data. In the example shown in FIG. 6A, the content server periodically sends (and devices 10A through 10C receive) 2 MB of content and / or data throughout the day, every two hours, on the hour. As shown in FIG. 6A, mobile computing devices 10A through 10C consume battery power each time the content and / or data sent is received from the content server (to the point where the data transfer usage limit is reached, resulting in no additional battery power consumption after this point). In addition, as devices 10A through 10C move through different network environments (for example, 802.11 n for 4G LTE for 3G for 802.11B), and must use different radios having different power consumption profiles, the rate of battery power consumption as a consequence varies (despite the fact that the
46/95 average data transfer remain the same).
[093] The 10A device, being the most efficient with respect to energy consumption, is also the most efficient with respect to charging, and so the user of the 10A device (Alice Liddell) only needs to plug in the 10A device for an hour when waking up at 5:30 am in order to use the 10A device throughout the day. The 10B device, being less efficient than the 10A device, displays a “Battery Low” warning at 16:20, prompting the user of the 10B device (Blanche Lapin) to plug in and charge the 10B device from 5:00 pm until 18:30, when device 10B prepares to move to another location and quickly reaches the range of the 802.11b network. Since the user of the 10C device, which is the least efficient device, is much more aware of the battery consumption limitations of the 10C device, the 10C device remains plugged in and charging until 5:30 am, after which the battery only lasts until a “Battery Low” warning will be displayed at 2:20 pm. The 10C device is then plugged in and charged from 3:00 pm until 6:30 pm, which provides enough power to last until the data transfer usage limit is reached at 10:06 pm. The consumption patterns of users of new content not shown over this period of time are shown by the gray shaded region.
[094] FIGS. 6B through 6C illustrate illustrative parallel event timelines showing battery power consumption for the same three illustrative devices while being served content and other data by a content server using an illustrative resource control algorithm to serve content and other data . In particular embodiments, the resource control algorithm can be designed to balance the competitive objectives of extending battery life and keeping the user well suppressed with current content including high resolution images.
[095] FIG. 6B illustrates the operation of a resource control algorithm
47/95 illustrative that is designed to maximize both objectives discussed above: extend the battery life and keep the user well suppressed with current content including high resolution images. The scenario illustrated in FIG. 6B adopts the same exact set of events and circumstances as shown in FIG. 6A (consumption patterns of users of new content not viewed, battery charging events, etc.) and applies the illustrative resource control algorithm to change the pattern of sending events to minimize battery power consumption and maximize distribution again unviewed content. During battery charging periods, the content server actively sends as much content and / or data as possible, in order to be able to operate for longer periods without sending new content when the battery is running low.
[096] FIG. 6C illustrates the operation of an illustrative resource control algorithm that is designed to promote a relatively uniform rate of battery consumption across the various devices. As shown in FIG. 6C, push events are scheduled to trigger less energy efficient devices less frequently (and less regularly) than more energy efficient devices, in favor of designating a more strategic schedule (for example, based on whether the device is plugged in , whether the device is connected to a network using a low power radio, whether the user has actively viewed content or not). As can be seen, sending events are sent to trigger the less energy efficient devices 10B and 10C more frequently than the most energy efficient device 10A when the devices are plugged in and the battery is being charged (during the time period of 05:30 to 06:30). Sending events are also sent to the less energy efficient devices 10B and 10C more frequently than to the most battery efficient device 10A when the devices are connected to a network by a low power radio, etc. Finally, the sending events are sent
48/95 less frequently (or fully retained) if content is not being displayed (for example, as presented with respect to the 10C device from 6:30 am until 12:30 pm when the device user may be in meetings or classes), particularly if the device is connected to a network requiring the use of a higher power radio. In particular embodiments, an agnostic device energy limit can be specified (for example, 20% battery charge remaining), so that the content server can interrupt or reduce the frequency of sending events on the schedule if the device condition indicates that the battery's power condition is close to the power limit, and the device is not currently being charged.
[097] In particular embodiments, the server can also modify the schedule of sending events based on the cost of data consumption (for example, in a payment data consumption mode on the fly) and / or usage transfer limits data (for example, as imposed by the Network service provider). The cost of data consumption and / or data usage transfer limits can be estimated based on the location (based on the assumption with respect to typical data plan coverage in a country) and / or the type of network available for the device (for example, EDGE vs. GPRS vs. 4G), if a network provider or other device provides information with respect to the current data usage transfer limits for the user's service plan, the server may use such information in the resource control algorithm when determining the sending event schedule for the particular device.
[098] In particular embodiments, the server can also impose a daily limit on the amount of data transferred by a given device each day (including advance data search). By imposing daily coverage, the server may be able to achieve a smoothing effect where the user is able to
49/95 use at least some data transfer on a daily basis (for example, thereby preventing execution on a monthly data transfer limit with two weeks left in the month). In addition, the server may be able to ensure that a sufficient amount of usage and data is reserved for other operations that the user can conduct on the device. Regardless of the time period (for example, day, month, year) associated with the data usage transfer limit, the server can restrict sending events (while connected to the network by imposing the data usage transfer limit) until the time period is renewed.
[099] The data usage limit can also be adjusted based on the type of network the device is connected to. For example, the server can detect the type of network a device is connected to and only fetch 50 items of content in advance when connected with Wi-Fi (since there is typically no limit on data transfer and no additional cost for data transfer when using a Wi-Fi connection), and only seek in advance three items of content when connected with a 3G network (which typically does not impose limits on the use of data transfer).
[0100] When a device is on a data transfer usage limit (for example, 3G network), the server can only initiate sending events when it has detected that the device is connected to a different network (for example example, Wi-Fi network). After these descriptions, we will present older descriptions that have images, but that have not yet been seen, and then finally older descriptions with images that have already been seen on the device. Over time, as more data becomes available, these newer descriptions will take images and move to the front of the home screen automatically.
50/95 [0101] In particular embodiments, the server can also provide scaled-down content (for example, reducing size / resolution / image type, selecting a single preview frame and a link to a video instead of the file full video, or cutting a four-minute music file to just a short 20-second audio clip) when connected to an expensive or low-bandwidth network (eg 4G LTE). The server can then later provide larger versions of the content when connected to the cheapest / highest bandwidth network (eg 802.11 b Wi-Fi network). Multiple versions of a piece of content can be generated and stored, and then classified into data transfer usage categories (for example, low, medium, high). For example, a large image with a high resolution Joint Photographic Experts Group (JPEG) (1920 x 1080 pixels) can be scaled down to a compressed JPEG image with a lower low resolution (800 x 480 pixels - scaled appropriately for the screen size of the mobile computing device 10) for inclusion in a frame of content sent to the device while the device is connected to a 3G network, but once the device connects to a Wi-Fi network, the server can detect the new condition device network and send an update to the content frame with the original version of the image.
[0102] FIG. 7 is a flow chart of steps in an illustrative method for a server to control resource consumption on the client side by applying a resource control algorithm to modify a schedule to provide new and / or updated content and / or data to a device. In step 710, the server can store device specifications and device settings, including a power consumption profile for the device and / or for particular aspects of the device (for example, network radios, processor
51/95 (processors), video screen). An energy consumption profile comprises information with respect to the typical energy consumption rate of a general device, or aspects of the particular device. The power consumption profile can specify different power consumption rates for different situations (for example, the power consumption of a 4G LTE radio can reliably vary based on the current location of the device).
[0103] In step 720, the server can receive device condition information from the device, including power condition (for example, battery charge is currently 40%, if the device is currently plugged in and charging) and connectivity with the network (for example, the type of network the device is connected to; which radio the device is using to connect to the network; available bandwidth detected; cost, if any, of the network the device is connected to; aspects and security settings of the network the device is connected to).
[0104] In step 730, the server can evaluate other factors in order to determine whether it would be appropriate and / or beneficial to delay or reduce the frequency of sending events, such as, for example, device-based consumption factors: whether the cache of the device contains a high percentage of recent content (new and unviewed), any data transfer usage limits that apply to the network the device is currently connected to, and the current data transfer usage condition of the device , etc.
[0105] In step 740, the server can determine any consumption factors in the entire system (for example, power limit of the agnostic device). In particular embodiments, the resource control algorithm can additionally be designed to control battery power consumption in order to promote a relatively uniform rate of battery consumption across the various devices, for example, by driving more efficient devices in
52/95 power more often than less energy efficient devices (generally), powering less energy efficient devices more often than more energy efficient devices when they are plugged in and charging the battery, power less energy efficient devices with more often than more energy efficient devices when they are connected to a network by a low power radio, etc. In such embodiments, an agnostic device energy limit can be specified (for example, 20% battery charge remaining), so that the content server can interrupt or reduce the frequency of sending events on the schedule if the device condition indicates that the battery's power condition is close to the power limit, and that the device is not currently being charged.
[0106] In step 750, the server can determine a sending event schedule to trigger the device and deliver content, by using the resource control algorithm. In particular embodiments, the content server can determine (using the resource control algorithm) and maintain, for each device, a server-side schedule to initiate a server-side command to trigger the device and to send content and / or other data to the device. In particular embodiments, the content server can send a client-side schedule to another mobile device for use with the functionality installed on the device in order to initiate client-side commands to trigger the mobile device and to receive content and / or other data from the content server. In these embodiments, the content server can maintain client-side programming and periodically send an updated version to the device. In particular embodiments, such schedules can be designed to control resource consumption by the device. For example, the scheduling of
53/95 sending can take advantage of battery charging events, periods of connectivity to networks using low power radios, periods of connectivity to free networks and / or unlimited networks (for example, those that have no transfer limitations) data) in order to extend the battery life (and prevent exceeding a load limit) and / or reduce the use of network data transfer (and prevent exceeding a data transfer limit imposed by a network service provider).
[0107] In step 760, the server identifies content for provisioning for the user, based on the user information and the device information (for example, as described above with respect to the initial screens.). For example, a content server associated with a social network system can retrieve content posted to the social network system through a user's social connections, and form new content frames and form updates to content frames previously provided for a home screen. on the user's mobile computing device 10. In particular embodiments, the server can continuously identify content that is a candidate for provisioning for the user, but only retrieve / form / generate the effective content to be provided to the user according to the schedule (for example, immediately before each event). waiting to ensure that the latest content is sent to the device).
[0108] In step 770, the server can send push events (for example, commands to trigger the mobile computing device 10 or notifications that the content is available for retrieval) to the device according to the schedule. As the device receives send events, the device can send information back to the server (as described in step 720) in order to provide inputs for the resource control algorithm (for example, the device's power condition) and the condition of connectivity with the
54/95 network). In alternative embodiments, instead of having a server sending sending events, the server can maintain and periodically send, to the device, a schedule to initiate client-side commands to trigger the mobile device and to receive content and / or other data from the server.
[0109] Particular embodiments may repeat one or more steps of the method of FIG. 7, where appropriate. Although this disclosure describes and illustrates particular steps of the method of FIG. 7 as occurring in a particular order, this disclosure contemplates any suitable steps of the method of FIG. 7 occurring in any suitable order. Furthermore, although this disclosure describes and illustrates particular components, devices, or systems performing particular steps of the method of FIG. 7, this disclosure contemplates any suitable combination of any suitable components, devices, or systems performing any steps of the method of FIG. 7.
[0110] FIG. 8 illustrates an illustrative network environment 800 associated with a social network system. The network environment 800 includes a client system 830, a social networking system 860, and a third party system 870 connected to each other by a network 810. Although FIG. 8 illustrating a particular arrangement of the client system 830, the social network system 860, the third party system 870, and the network 810, this disclosure contemplates any suitable arrangement of the client system 830, the social network system 860, the third party system 870, and network 810. As an example and not by way of limitation, two or more systems within the client system 830, the social network system 860, and third party system 870 can be connected with each other directly, bypassing the network 810. As another example, two or more of the client system 830, the social network system 860, and the third party system 870 can be physically or logically located together with each other totally or in part. Furthermore, although FIG. 8 illustrate a particular number of client systems 830, social networking systems 860,
55/95 third party systems 870, and networks 810, this disclosure contemplates any suitable number of client systems 830, social network systems 860, third party systems 870, and 810 networks. As an example and not by way of limitation, the network environment 800 may include several client systems 830, social network systems 860, third party systems 870, and networks 810.
[0111] This disclosure covers any suitable 810 network. As an example and not by way of limitation, one or more parts of the 810 network may include a computer-to-computer network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN) , a wireless LAN (WLAN), an area network, a wide area network (WAN), a wireless WAN (WWAN), a metropolitan area network (MAN), a part of the Internet, a part of the Switched Network Public Telephony (PSTN), a cellular telephone network, or a combination of two or more of them. The 810 network can include one or more 810 networks.
[0112] Links 850 can connect the client system 830, the social network system 860, and the third party system 870 with the communication network 810 or with each other. This disclosure contemplates any suitable 850 connections. In particular embodiments, one or more 850 connections include one or more wired connections (such as, for example, Digital Subscriber Line (DSL) or Cable Data Service Interface Specification ( DOCSIS)), wireless (such as, for example, Wi-Fi or Microwave Access with Global Range and Compatibility (WiMAX)), or optical (such as, for example, Synchronous Optical Network (SONET) or Synchronous Digital Hierarchy ( SDH)). In some embodiments, each of the one or more 850 connections may include a computer-computer network, an intranet, an extranet, a VPN, a LAN, a WLAN, a WAN, a WWAN, a MAN, a portion of the Internet, a part of PSTN, a network based on cellular technology, a network based on communications technology
56/95 via satellite, another 850 link, or a combination of two or more of such 850 links. 850 links do not necessarily have to be the same across the 800 network environment. One or more first 850 links may differ by one or more respect from one or more second 850 calls.
[0113] In particular embodiments, the 830 client system may be an electronic device including logical hardware, software, or built-in components, or a combination of two or more of such components and capable of performing the appropriate functionalities implemented or supported by the system 830 client. As an example and not by way of limitation, an 830 client system can include a computer system such as a desktop computer, a notebook or laptop computer, a netbook, a tablet computer, an ebook reader, a device GPS, a camera, a personal digital assistant (PDA), a portable electronic device, a cell phone, a smartphone, another suitable electronic device, or any suitable combination thereof. This disclosure contemplates any suitable 830 aware systems. An 830 client system can allow a network user on the 830 client system to access the 810 network. An 830 client system can allow its user to communicate with other users on other 830 client systems.
[0114] In particular embodiments, the 830 client system may include an 832 Network browser, such as MICROSOFT INTERNET EXPLORER, GOOGLE CHROME or MOZILLA FIREFOX, and may have one or more add-ons, plugins, or other extensions, such as TOOLBAR or YAHOO TOOLBAR. A user on the 830 client system can enter a Uniform Resource Locator (URL) or other address by directing the 832 Network browser to a private server (such as 862 server, or to a server associated with the third party 870 system), and the 832 Network browser can generate a Hyper Text Transfer Protocol (HTTP) request and communicate the HTTP request to the
57/95 server. The server can accept the HTTP request and communicate to the 830 client system one or more Hyper Text Markup Language (HTML) files in response to the HTTP request. The 830 client system can present a web page based on HTML files from the server for presentation to the user. This disclosure includes any suitable web page files. As an example and not by way of limitation, web pages can be presented from HTML files, Hyper Text Markup Language (XHTML) files, or Markup Language (XML) files, according to needs private individuals. Such pages can also execute scripts, such as, for example and without limitation, these written in JAVASCRIPT, JAVA, MICROSOFT SILVERLIGHT, markup language combinations and scripts such as AJAX (JAVASCRIPT and asynchronous XML), among others. In this document, reference to a Network page covers one or more corresponding Network page files (which a browser can use to display the Network page) and vice versa, where appropriate.
[0115] In particular embodiments, the social network system 860 can be a network addressable computing system that can host an online social network. The social networking system 860 can generate, store, receive, and send social networking data, such as, for example, user profile data, profile concept data, social graph information, or other suitable data related to online social network. The social networking system 860 can be accessed by the other components of the networking environment 800 either directly or via the 810 network. In particular embodiments, the social networking system 860 can include one or more 862 servers. Each 862 server can be a server unit or a distributed server spanning multiple computers or multiple data centers. 862 servers can be of various types, such as, for example, and without limitation, Network server, news server, mail server,
58/95 message server, advertising server, file server, application server, exchange server, database server, Proxy server, another server suitable for performing the functions or processes described in this document, or any combination thereof . In particular embodiments, each 862 server may include built-in hardware, software, or logic components, or a combination of two or more such components to perform the appropriate features implemented or supported by the 862 server. In particular embodiments, the networking system social 864 can include one or more 864 data stores. 864 data stores can be used to store various types of information. In particular embodiments, the information stored in data stores 864 can be organized according to specific data structures. In particular embodiments, each data store 864 can be a relational, columnar, correlation, or other suitable database. Although this disclosure describes or illustrates particular types of databases, this disclosure contemplates any suitable types of databases. Particular embodiments may provide interfaces that enable a client 830 system, a network system 860, or a third party system 870 to manage, retrieve, modify, add, or delete information stored in the 864 data store.
[0116] In particular embodiments, the social networking system 860 can store one or more social graphs in one or more 864 data stores. In particular embodiments, a social graph can include multiple nodes - which can include multiple user nodes ( each corresponding to a particular user) or several concept nodes (each corresponding to a particular concept) - and several edges (NDT "any activity performed on the Social Network") connecting the nodes. The social networking system 860 can provide users of the
59/95 online social network the ability to communicate and interact with other users. In particular embodiments, users can participate in the online social network via the 860 social network system and then add connections (for example, relationships) to a number of other users of the 860 social network system with whom they wish to be connected. In this document, the term “friend” can refer to any other user of the 860 social networking system with which a user has formed a connection, association, or relationship via the 860 social networking system.
[0117] In particular embodiments, the social networking system 860 can provide users with the ability to perform actions on various types of items or objects, supported by the social networking system 860. As an example and not by way of limitation , items and objects can include social groups or networks where users of the 860 social networking system can join, event or calendar entries that a user may be interested in, computer-based applications that a user can use, transactions that allow users to buy or sell items via the service, interactions with advertisements that a user can carry out, or other suitable items or objects. A user can interact with anything that is capable of being represented on the social network system 860 or by an external system from the third party system 870, which is separated from the social network system 860 and coupled to the social network system 860 via an 810 network.
[0118] In particular embodiments, the social networking system 860 may be able to link a variety of entities. As an example and not by way of limitation, the social networking system 860 may allow users to interact with each other as well as receive content from third party systems 870 or other entities, or allow users to interact with these entities through interfaces application programming (API) or other communication channels.
[0119] In particular embodiments, a third party system 870 can
60/95 include one or more types of servers, one or more data stores, one or more interfaces, including, but not limited to APIs, one or more services on the Network, one or more sources of content, one or more networks, or any other suitable components, for example, with which servers can communicate. A third party system 870 may be operated by an entity other than an entity operating the social network system 860. However, in particular embodiments, the social network system 860 and third party systems 870 may operate together with each other to provide social networking services for users of the social networking system 860 or third party systems 870. In this sense, the social networking system 860 can provide a platform, or backbone, which other systems, such as third party systems 870, can use to provide social networking services and functionality to users over the Internet.
[0120] In particular embodiments, a third party system 870 may include a third party content object provider. A third party content object provider may include one or more content object sources, which can be communicated to an 830 client system. As an example and not by way of limitation, content objects may include information with respect to things or activities of interest to the user, such as, for example, movie showtimes, movie reviews, restaurant reviews, restaurant menus, product information and reviews, or other appropriate information. As another example and not by way of limitation, content objects may include incentive content objects, such as coupons, discount tickets, gift certificates, or other suitable incentive objects.
[0121] In particular embodiments, the social networking system 860 also includes user-generated content objects, which can enhance a user's interactions with the social networking system 860. The content generated by
61/95 user can include anything that a user can add, upload, send, or “post” to the social networking system 860. As an example and not by way of limitation, a user communicates posts to a social networking system 860 from an 830 client system. Posts may include data, such as condition updates or other textual data, location information, photos, videos, links, music, or other similar data or media. The content can also be added to the social networking system 860 by a third party via a “communication channel”, such as a new news package or stream.
[0122] In particular embodiments, the social networking system 860 can include a variety of servers, subsystems, programs, modules, occurrence records, and data stores. In particular embodiments, the social networking system 860 may include one or more of the following: a network server, an action recorder, an API request server, a relevance and classification mechanism, a content object classifier, a notification controller, a record of action occurrences, a record of occurrences of third-party content object exposure, an inference module, authorization / privacy server, a search module, an advertising goal module, a module user interface store, user profile store, connection store, third-party content store, or location store. The social networking system 860 can also include suitable components, such as network interfaces, security mechanisms, load balancers, failover device, management and network operation consoles, other components or any suitable combination thereof. In particular embodiments, the social networking system 860 may include one or more user profile stores to store user profile. A user profile can include, for example, biographical information, demographic information,
62/95 behavioral information, social information, or other types of descriptive information, such as professional experience, educational background, favorite activities or preferences, interests, affinities, or location. Interest information can include interests related to one or more categories. The categories can be general or specific. As an example and not by way of limitation, if a user “likes” an article about a shoe brand, the category can be the brand, or the general category of “shoes” or “clothing”. A connection store can be used to store connection information about users. The connection information can indicate users who have the same or similar professional experiences, participation as a group member, educational background, or are in some way related or share similar attributes. This connection information can also include user-defined connections between different users and content (both internal and external). A network server can be used to connect the social networking system 860 to one or more client systems 830 or one or more third party systems 870 via the 810 network. The network server can include a mail server or other exchange functionality messages to receive and route messages between the social networking system 860 and the one or more 830 client systems. An API request server can allow a third party system 870 to access information from the social networking system 860 by calling one or more APIs. An action recorder can be used to receive communications from a network server about a user’s actions inside or outside the 860 social networking system. In conjunction with the action record, a record of third-party content object can be preserved from user exposures to third-party content objects. A notification controller can provide information with respect to content objects to an 830 client system. The information can be sent to an 830 client system as notifications, or information
63/95 can be obtained from the 830 client system in response to a request received from the 830 client system. Authorization servers can be used to apply one or more privacy settings to users of the 860 social network system. A user's privacy setting determines how private information associated with a user can be shared. The authorization server can allow users to consent or refuse to have their actions registered by the social networking system 860 or shared with other systems (eg, third party system 870), such as, for example, by establishing appropriate privacy settings. Third party content object stores can be used to store content objects received from third parties, such as a third party 870 system. Location storage can be used to store location information received from associated 830 client systems with users. The advertising and pricing modules can combine social information, current weather, location information, or other information suitable to provide relevant ads, in the form of notifications, to a user.
[0123] FIG. 9 illustrates an illustrative social graph 900. In particular embodiments, the social network system 860 can store one or more social graphs 900 in one or more data stores. In particular embodiments, the social graph 900 can include several nodes - which can include several user nodes 902 or several concept nodes 904 - and several edges 906 connecting the nodes. Illustrative social graph 900 illustrated in FIG. 9 is presented, for didactic purposes, in a two-dimensional visual map representation. In particular embodiments, a social networking system 860, a client system 830, or a third party system 870 can access social graph 900 and social graph related information for suitable applications. The nodes and edges of the
64/95 social graph 900 can be stored as data objects, for example, in a data store (such as a social graph database). Such data storage can include one or more node indexes or edges of the social graph 900 that can be searched or queued.
[0124] In particular embodiments, a user node 902 can correspond to a user of the social networking system 860. As an example and not by way of limitation, a user can be an individual (human user), an entity (for example , a business, commercial, or third-party application), or a group (for example, of individuals or entities) that interacts or communicates with or through the 860 social networking system. In particular embodiments, when a user registers an account for the social networking system 860, the social networking system 860 can create a user node 902 corresponding to the user, and store user node 902 in one or more data stores. The users and 902 user nodes described in this document may, where appropriate, refer to registered users and 902 user nodes associated with registered users. In addition or as an alternative, the 902 users and user nodes described in this document may, where appropriate, refer to users who have not registered with the 860 social networking system. In particular embodiments, a 902 user node can be associated with the information provided by a user or information gathered by the various systems, including the social networking system 860. As an example and not by way of limitation, a user may provide his name, profile picture, contact information, date of birth, gender, marital status, family status, employment, educational background, preferences, interests, or other demographic information. In particular embodiments, a user node 902 can be associated with one or more data objects corresponding to the information associated with a user. In particular embodiments, a 902 user node
65/95 can correspond to one or more pages on the network.
[0125] In particular embodiments, a concept node 904 can correspond to a concept. As an example and not by way of limitation, a concept may correspond to a location (such as, for example, a movie theater, restaurant, landmark, or city); to a Network website (such as, for example, a Network website associated with the social networking system 860 or a third party Network website associated with a Network application server); to an entity (such as, for example, a person, company, group, sports team, or celebrity); to a resource (such as, for example, an audio file, video file, digital photo, text file, structured document, or application) that can be located within the 860 social network system or on an external server, such as a network application server; real or intellectual property (such as, for example, a sculpture, painting, film, game, song, idea, photograph, or written book); to a game; an activity; to an idea or theory; to another suitable type of concept; or two or more concepts. A concept node 904 can be associated with a concept information provided by a user or information gathered by various systems, including social networking system 860. As an example and not by way of limitation, the concept information can include a name or a title; one or more images (for example, an image of a book cover); a location (for example, an address or a geographical location); a Network website (which can be associated with a URL); contact information (for example, a phone number or an email address); other appropriate concept information; or any combination of such information. In particular embodiments, a concept node 904 can be associated with one or more data objects corresponding to the information associated with concept node 904. In particular embodiments, concept node 904 can correspond to one or more pages of the Network.
66/95 [0126] In particular embodiments, a node in the social graph 900 can represent or be represented by a Network page (which can be referred to as a “profile page”). Profile pages can be hosted or accessed by the 860 social networking system. Profile pages can also be hosted on third party Network sites associated with a third party 870 server. As an example and not by way of limitation, a page profile pages corresponding to a private external network page can be the private external network page and the profile page can correspond to a particular concept node 904. Profile pages can be viewed by all or a selected subset of other users . As an example and not by way of limitation, a 902 user node may have a corresponding user profile page on which the corresponding user can add content, make statements, or otherwise express himself. As another example and not by way of limitation, a 904 concept node may have a corresponding concept profile page on which one or more users can add content, make statements, or express themselves, particularly in relation to the concept corresponding to the concept 904.
[0127] In particular embodiments, a 904 concept node may represent a third party network page or resource hosted by a third party system 870. The third party network page or resource may include, among other elements, content, a selectable icon or another icon, or another interactable object (which can be implemented, for example, in JavaScript, AJAX, or PHP code) representing an action or activity. As an example and not by way of limitation, a third party Network page may include an icon that can be selected such as "like", "check", "eat", "recommend", or other appropriate action or activity. A user viewing the Third Party Network page can take action by selecting one of the icons (for example, “eating”),
67/95 causing a client 830 system to send a message indicating user activity to the social networking system 860. In response to the message, the social networking system 860 can create an edge (for example, an “eat” edge) between a user node 902 corresponding to the user and a concept node 904 corresponding to the third party Network site or resource and store edge 906 in one or more data stores.
[0128] In particular embodiments, a pair of nodes on the social graph 900 can be connected with one another by one or more edges 906. An edge 906 connecting a pair of nodes can represent a relationship between the pair of nodes. In particular embodiments, an edge 906 may include or represent one or more objects or data attributes corresponding to the relationship between a pair of nodes. As an example and not by way of limitation, a first user may indicate that a second user is a "friend" of the first user. In response to this indication, the social networking system 860 can send a “friend request” to the second user. If the second user confirms the “friend request”, the social networking system 860 can create an edge 906 by connecting user node 902 of the first user with user node 902 of the second user on social graph 900 and storing edge 906 as social graph information in one or more 864 data stores. In the example of FIG. 9, the social graph 900 includes an edge 906 indicating a friendship relationship between the nodes of user 902 of user “A” and user “B” and an edge indicating a friendship relationship between nodes of user 902 of user “C” ”And user“ B ”. Although this disclosure describes or illustrates particular 906 edges with particular attributes connecting user 902 particular nodes, this disclosure contemplates any suitable 906 edges with any suitable attributes connecting user 902 nodes. As an example and not by way of limitation, a 906 edge can represent a friendship, family relationship, company or job relationship, fan relationship, follower relationship, relationship
68/95 visitor, subscriber relationship, superior / subordinate relationship, reciprocal relationship, non-reciprocal relationship, another suitable type of relationship, or two or more of such relationships. Furthermore, while this disclosure generally describes nodes as being connected, this disclosure also describes users or concepts as being connected. In this document, references to the users or concepts being connected can, where appropriate, refer to the nodes corresponding to these users or concepts being connected in the social graph 900 by one or more edges 906.
[0129] In particular embodiments, an edge 906 between a user node 902 and a concept node 904 can represent a particular action or activity performed by a user associated with user node 902 toward a concept associated with a node concept 904. As an example and not by way of limitation, as illustrated in FIG. 9, a user can “like”, “accompanied”, “reproduced”, “listened to”, “cooked”, “worked on”, or “watched” a concept, each of which can correspond to a type or subtype of edge . A concept profile page corresponding to a 904 concept node can include, for example, a selectable “check-in” icon (such as, for example, a clickable “check-in” icon ) or an “add to favorites” icon that can be selected. Similarly, after a user clicks on these icons, the social networking system 860 can create a “favorite” edge or a “check-in” edge in response to a user's action corresponding to the respective action. As another example and not by way of limitation, a user (user “C”) can listen to a particular song (“Ramble On”) using a private application (SPOTIFY, which is an online music application). In this case, the social networking system 860 can create an edge (“listened to”) 906 and an edge “used” (as illustrated in FIG. 9) between user nodes 902 corresponding to the user and concept nodes 904 corresponding to music and the
69/95 application to indicate that the user listened to the music and used the application. In addition, the social networking system 860 can create a “played” edge 906 (as illustrated in FIG. 9) between concept nodes 904 corresponding to the song and the app to indicate that the particular song has been played by the particular app. In this case, the “reproduced” edge 906 corresponding to an action performed by an external application (SPOTIFY) in relation to an external audio file (the song “Imagine”). Although this disclosure describes particular edges 906 with particular attributes connecting user nodes 902 and concept nodes 904, this disclosure contemplates any suitable edges 906 with which suitable attributes connecting user nodes 902 with concept nodes 904. Furthermore, despite this disclosure describes edges between a user node 902 and a concept node representing a single relationship, this disclosure contemplates edges between a user node 902 and a concept node 904 representing one or more relationships. As an example and not by way of limitation an edge 906 can represent as much that a user enjoys as has been using a particular concept. Alternatively, another edge 906 can represent each type of relationship (or several of a single relationship) between a user node 902 and a concept node 904 (as illustrated in FIG. 9 between user node 902 for user “E” and the concept node 904 for “SPOTIFY”).
[0130] In particular embodiments, the social networking system 860 can create an edge 906 between a user node 902 and a concept node 904 on the social graph 900. As an example and not by way of limitation, a user viewing a page concept profile (such as, for example, using a Web browser or a special purpose application hosted by the 830 user's client system) may indicate that he or she liked the concept represented by the concept node 904 by clicking or selecting a “Like” icon, which can cause the 830 user's client system to send to the 860 social network system a
70/95 message indicating that the user liked the concept associated with the concept profile page. In response to the message, the social networking system 860 can create an edge 906 between the user node 902 associated with the user and the concept node 904, as illustrated by the “like” edge 906 between the user and the concept node 904 In particular embodiments, the social networking system 860 can store an edge 906 in one or more data stores. In particular embodiments, an edge 906 can be automatically formed by the social networking system 860 in response to a particular user action. As an example and not by way of limitation, if a first user uploads a photo, watches a movie, or listens to music, an edge 906 can be formed between user node 902 corresponding to the first user and concept nodes 904 corresponding to these concepts. Although this disclosure describes the formation of particular edges 906 in particular ways, this disclosure contemplates forming any suitable edges 906 in any suitable manner.
[0131] In particular embodiments, an advertisement can be text (which can be linked by HTML), one or more images (which can be linked by HTML), one or more videos, audio, one or more ADOBE FLASH files, a suitable combination of them, or any other suitable advertisement in any suitable digital format displayed on one or more pages of the Network, in one or more emails, or in connection with the search results requested by a user. In addition or as an alternative, an ad can be one or more sponsored stories (for example, a news item or ticker item on the 860 social media system). A sponsored story can be a social activity by a user (such as “liking” a page, “liking” or commenting on a post on a page, RSVPing to an event associated with a page, voting on a questionnaire posted on a page, registering entry to a location, use an app or play a game, or “like” or share a Network site)
71/95 that an advertiser promotes, for example, by having social activity displayed within a predetermined area of a user's profile page or other page, presented with additional information associated with the advertiser, enhanced or otherwise highlighted within other users' news or ticker package, or otherwise promoted. The advertiser can pay to have the social activity promoted. Social activity can be promoted within or through the 860 social network system. In addition or as an alternative, social activity can be promoted outside or outside the 860 social network system, where appropriate. In particular embodiments, a page can be an online presence (such as a Network page or Network website within or outside the 860 social network system) of a company, organization, or brand facilitating its sharing of materials and connection with people . A page can be customized, for example, by adding applications, posting stories, or hosting events.
[0132] A sponsored story can be generated from stories in the user's new news package and promoted to specific areas within the views of users' network browsers when viewing a Network page associated with the 860 social networking system. sponsored stories are more likely to be viewed by users, at least in part due to the fact that sponsored stories generally involve interactions or suggestions by the user's friends, fan pages, or other connections. In connection with the sponsored materials, the particular embodiments may use one or more systems, components, elements, functions, methods, operations, or steps disclosed in US Patent Application No. 2 13/327557, called “Sponsored Stories Unit Creation from Organic Activity Stream ”and filed on December 15, 2011, US Patent Application Publication No. 2 2012/0203831, entitled“ Sponsored Stories Unit Creation from Organic Activity
72/95
Stream ”and filed on February 3, 2012 as US Patent Application No. 2 13/020745, or US Patent Application Publication No. 2 2012/0233009, called“ Endorsement Subscriptions for Sponsored Stories ”and filed on March 9, 2011 as US Patent Application No. 2 13/044506, all of which are incorporated herein by reference by way of example and not by way of limitation. In particular embodiments, sponsored articles may use computer vision algorithms to detect products in images or photos uploaded without an explicit connection to an advertiser as revealed in US Patent Application No. 2 13/212356, called “Computer-Vision Content Detection for Sponsored Stories ”and filed on August 18, 2011, which is incorporated into this document by reference as an example and not by way of limitation.
[0133] As described above, an ad can be text (which can be linked via HTML), one or more images (which can be linked via HTML), one or more videos, audio, one or more ADOBE FLASH files, a suitable combination of them, or any other suitable advertisement in any suitable digital format. In particular embodiments, an ad may be requested to appear within third-party Network pages, social network system pages, or on other pages. An ad can be displayed on a dedicated part of a page, such as in a banner area at the top of the page, in a column on the side of the page, in a GUI of the page, in an instant window, over the top of the content of the page, or anywhere with respect to the page. In addition or as an alternative, an ad can be displayed within an application or within a game. An ad can be displayed within dedicated pages, requiring the user to interact or watch an ad before the user can access the page, use an application, or play a game. The user can, for example, view the ad through a web browser.
[0134] A user can interact with an ad in any way
73/95 appropriate. The user can click or otherwise select the ad, and the ad can direct the user (or a browser or other application being used by the user) to a page associated with the ad. On the page associated with the ad, the user can take additional actions, such as purchasing a product or service associated with the ad, receiving information associated with the ad, or subscribing to a newsletter associated with the ad. An audio or video ad can be served by selecting an ad component (such as a “play button”). In particular embodiments, an ad can include one or more games, which a user or another application can run in connection with the ad. An ad can include the functionality to respond to a survey or questionnaire in the ad.
[0135] An ad can include the functionality of the social networking system with which a user can interact. For example, an ad can allow a user to “like” or otherwise approve the ad by selecting an icon or link associated with approval. Similarly, a user can share the ad with another user (for example, via the social networking system 860) or RSVP (for example, through the social networking system 860) for an event associated with the ad. In addition or as an alternative, an ad can include user-targeted social networking context. For example, an ad may display information about a user's friend within the 860 social networking system that has adopted an activity associated with the subject of the ad.
[0136] The functionality or context of the social networking system can be associated with an ad in any suitable way. For example, an ad system (which can include hardware, software, or both to receive ad offers and select ads in response) can retrieve functionality or social context from the social networking system 860 and
74/95 incorporate the functionality or social network context retrieved into the ad before serving the ad to a user. Examples of selecting and providing social network system functionality or context with an ad are revealed in US Patent Application Publication No. 2 2012/0084160, entitled “Providing Social Endorsements with Online Advertising” and filed on October 5, 2010 as Order Patent Application No. 2 12/898662, and in US Patent Application Publication No. 2 2012/0232998, entitled “Selecting Social Endorsement Information for an Advertisement for a Display to a Viewing User” and filed on March 8, 2011 as Application for US Patent No. 2 13/043424, which have been incorporated herein by reference by way of example only and not by way of limitation. Interacting with an ad that is associated with the functionality or context of the social networking system can cause information about the interaction to be displayed on a user profile page on the social networking system 860.
[0137] Particular embodiments can facilitate the distribution of ads to users who are more likely to find the most relevant or useful ads. For example, an advertiser can achieve high conversion rates (and therefore a higher return on investment (ROI) from the ad) by identifying and targeting users who are more likely to find their ads more relevant or useful. The advertiser can use user profile information on the social networking system 860 to identify these users. In addition or as an alternative, the social networking system 860 can use user profile information in the social networking system 860 to identify these users for the advertiser. As an example and not by way of limitation, particular embodiments may target users with the following: invitations or event suggestions; suggestions regarding coupons, proposals, or desired items; suggestions regarding events in a friend's life; suggestions regarding groups; adverts; or social ads. Such targeting may occur, where appropriate, through or
75/95 within the social networking system 860, outside or external to the social networking system 860, or on users' mobile computing devices. When through or on the 860 social networking system, such targeting may be directed to the user's new news package, search results, email or other inboxes, or notification channels, or may appear in a particular area of Network pages of the social networking system 860, such as on the right side of a Network page in a reception or group area (which you can group together with a grid of ads on the right side associated with the same concept, node or object) or a network ego area (which can be based on what a user is viewing on the network page and a current news package from the user). When outside or outside the social networking system 860, such targeting can be provided through a third party Network website, for example, involving an ad exchange or a social plug-in. When on a user's mobile computing device, such targeting can be provided through push notifications to the mobile computing device.
[0138] Targeting criteria used to identify and target users may include explicit, stated interests of the user on the 860 social network system or a user's explicit connections to a node, object, entity, brand, or page on the 860 social network system In addition or as an alternative, such targeting criteria may include the user's implicit interests or connections or assumptions (which may include analyzing a user's historical, demographic or social activities, social or different activities, friend social activities or other activities, subscriptions, or any of the precedents of other users similar to the user (for example, based on shared interests, connections or events)). Particular embodiments may use platform targeting, which may involve platform data and “like” impression; contextual signals (for example, “Who is
76/95 viewing now or recently viewed the COCA-COLA page ”); lightweight connections (for example, “check-ins”); similar connections; fans; extracted keywords; EMU ads; inference ads; coefficients, affinities, or other social graph information; friend connections of friends; marking or intensification; Business; survey Research; delivery of household appliances, agglomerates or social groups; products detected in images or other media; types of social edge or open graphics; geographic prediction; profile or page views; condition updates or other user postings (whose analysis may involve natural language processing or keyword extraction); event information; or collaborative filtering. Identifying and targeting users can also include privacy settings (such as a user refusal), hashing data, or anonymizing data, as appropriate.
[0139] For users targeted with advertisements, particular embodiments may use one or more systems, components, elements, functions, methods, operations, or steps disclosed below, which are all incorporated into this document by reference as examples and not by way of limitation: Application Publication Patent US 2009/0119167 IXP, called "Social Advertisements and Other Informational Messages on Social Networking Website and Advertising Model for Same" and filed on August 18, 2008 as US Patent Application Number 12/193702 2 ; US Patent Application Publication 2009/0070219, called “Targeting Advertisements in a Social Network” and filed on August 20, 2008 as US Patent Application 12/195321; US Patent Application Publication 2012/0158501, entitled “Targeting Social Advertising to Friends of Users Who Have Interacted With an Object Associated with the Advertising” and filed on December 15, 2010 as US Patent Application 12/968786; or US Publication and Patent Application 2012/0166532, referred to as “Contextually
77/95
Relevant Affinity Prediction in a Social-Networking System is filed on December 23, 2010 as US Patent Application No. 2 12/978265.
[0140] An ad may be displayed or otherwise distributed using plug-ins for Web browsers or other applications, iframe elements, new news package, tickers, notifications (which may include, for example, email, Short Message Service (SMS) messages, or notifications), or other devices. An ad can be displayed or otherwise distributed to a user on a mobile computing device or another user’s computing device. In connection with the distribution of advertisements, particular embodiments may use one or more systems, components, elements, functions, methods, operations or steps disclosed below, all of which are incorporated into this document by reference as examples and not by way of limitation: US Patent Application Publication 2012/0159635, called “Comment Plug-In for Third-Party System” and filed on December 15, 2010 as US Patent Application 12/969368; US Patent Application Publication 2012/0158753, called “Comment Ordering System” and filed on December 15, 2010 as US Patent Application No. 2 12/969408; US Patent No. 2 7,669,123, called “Dynamically Providing a News Feed About a User of a Social Network” and filed on August 11, 2006 as US Patent Application 11/503242; US Patent Application Publication 2008/0040475, entitled “Providing a News Feed Based on User Affinity in a Social Network Environment” and filed on August 11, 2006 as US Patent Application 11/503093; US Patent Application Publication 2012/0072428, called “Action Clustering for News Feeds” and filed on September 16, 2010 as US Patent Application 12/884010; US Patent Application Publication 2001/0004692, entitled “Gathering Information about Connections in a Social Networking Service” and filed on July 1, 2009 as a Patent Application
78/95
US No. 2 12/496606; US Patent Application Publication 2008/0065701, called “Method and System for Tracking Changes to User Content in an Online Social Network” and filed on September 12, 2006 as US Patent Application No. 2 11/531154; US Patent Application Publication 2008/0065604, entitled “Feeding Updates to Landing Pages of Users of on the Online Social Network from External Sources” and filed on January 17, 2007 as US Patent Application No. 2 11/624088; 2 US Patent 8,244,848, entitled "Integrated Social Network Environment" and filed on April 19, 2010 as US Patent Application 12/763171 C ^; US Patent Application Publication No. 2011/0083101, entitled “Sharing of Location-Based Content Item in Social Networking Service” and filed on October 6, 2009 as US Patent Application No. 2 12/574614; US Patent No. 2 8,150,844, called “Location Ranking Using Social-Graph Information” and filed on August 18, 2010 as US Patent Application No. 12/858718; US Patent Application No. 13/051286, entitled “Sending Notifications to Users Based on Users's Notification Tolerance Levels” and filed on March 18, 2011; US Patent Application No. 13/096184, called “Managing Notifications Pushed to User Devices” and filed on April 28, 2011; US Patent Application No. 2 13/276248, called “PlatformSpecific Notification Delivery Channel” and filed on October 18, 2011; or US Patent Application Publication No. 2 2012/0197709, called “Mobile Advertisement with Social Component for Geo-Social Networking System” and filed on February 1, 2011 as US Patent Application No. 13/019061. Although this disclosure describes or illustrates particular advertisements being distributed in particular ways and in connection with particular content, this disclosure contemplates any suitable advertisements distributed in any suitable manner and in connection with any suitable content.
[0141] In particular embodiments, the social networking system 860 can
79/95 determine the affinity of social graph (which can be referred to in this document as “affinity”) of various social graph entities with each other. Affinity can represent the strength of a relationship or level of interest between particular objects associated with the online social network, such as users, concepts, content, actions, advertisements, other objects associated with the online social network, or any suitable combination thereof. Affinity can also be determined with respect to objects associated with third party 870 systems or other suitable systems. A general affinity for a social graphics entity for each user, subject, or content type can be established. The general affinity can change based on continuous monitoring of the actions or relationships associated with the social graph entity. Although this disclosure describes determining particular affinities in a particular way, this disclosure contemplates determining any suitable affinities in any suitable manner.
[0142] In particular embodiments, the social network system 860 can measure or quantify social graph affinity using an affinity coefficient (which can be referred to in this document as a “coefficient”). The coefficient can represent or quantify the strength of a relationship between particular objects associated with the online social network. The coefficient can also represent a probability or function that measures a predicted probability that a user will perform a particular action based on the user's interest in the action. In this way, the user's future actions can be predicted based on the user's previous actions, where the coefficient may have calculated at least in part the history of the user's activities. The coefficients can be used to predict any number of actions, which can be inside or outside the online social network. As an example and not by way of limitation, these actions may include various types of communications, such as sending a message, posting content, or commenting on the
80/95 content; various types of observation actions, such as accessing or viewing profile pages, media, or other suitable content; various types of coincidence information about two or more social graph entities, such as being in the same group, marked in the same photo, verified entry in the same location, or participating in the same event; or other appropriate actions. Although this disclosure describes affinity measured in a particular way, this disclosure contemplates measuring affinity in any appropriate way.
[0143] In particular embodiments, the social networking system 860 can use a variety of factors to calculate a coefficient. These factors can include, for example, user activities, types of relationships between objects, location information, other suitable factors, or any combination of them. In particular embodiments, different factors can be weighted differently when calculating the coefficient. The weights for each factor can be static or the weights can change according to, for example, the user, the type of relationship, the type of action, the user's location, and so on. Ratings for the factors can be combined according to their weights to determine an overall coefficient for the user. As an example and not by way of limitation, particular user actions can be given both a rating and a weight while a relationship associated with the user's particular action receives a correlation rating and weight (for example, so that the weights total 100%). To calculate a user's coefficient in relation to a particular object, the classification assigned to the user's activities can comprise, for example, 60% of the general coefficient, while the relationship between the user and the object can comprise 40% of the general coefficient . In particular embodiments, the social networking system 860 can consider several variables when determining weights for various factors used to calculate a coefficient, such as, for example, the time since the information was accessed,
81/95 factors of decline, frequency of access, relationship with information or relationship with the object on which the information was accessed, relationship with the social graph entities connected with the object, averages in the short or long term of user activities , user feedback, other suitable variables, or any combination of them. As an example and not by way of limitation, a coefficient may include a declining fact that causes the signal strength provided by the particular actions to decline over time, so that more recent actions are more relevant when calculating the coefficient. The ratings and weights can be continuously updated based on continuous tracking of the stocks against which the coefficient is based. Any type of process or algorithm can be used to designate, combine, average, and so on, the ratings for each factor and the weights assigned to the factors. In particular embodiments, the social networking system 860 can determine coefficients using machine learning algorithms trained in relation to the user's historical actions and past responses, or data placed on farms from users by exposing them to various options and responses measuring Although this disclosure describes calculating coefficients in a particular way, this disclosure contemplates calculating coefficients in any suitable way.
[0144] In particular embodiments, the social networking system 860 can calculate a coefficient based on a user's actions. The social networking system 860 can monitor such actions on the online social network, the third party system 870, other suitable systems, or any combination thereof. Any type of user actions can be tracked or monitored. Typical user activities include viewing profile pages, creating or posting content, interacting with content, joining groups, listening and confirming participation in events, registering at locations, enjoying private pages, creating pages, and performing other tasks
82/95 that facilitate social activity. In particular embodiments, the social networking system 860 can calculate a coefficient based on the user's activities with particular types of content. The content can be associated with the online social network, with a third party system 870, or with another suitable system. Content may include users, profile pages, posts, news stories, headlines, instant messages, chat room conversations, emails, ads, images, video, music, other suitable objects, or any combination of them. The social networking system 860 can analyze a user's activities to determine whether one or more of the activities indicates an affinity for the subject in question, content, other users, and so on. As an example and not by way of limitation, if a user can frequently post content related to "coffee" or variations of it, the social networking system 860 can determine that the user has a high coefficient with respect to the concept " coffee". Particular activities or types of activities may be given a higher weight and / or rating than other activities, which may affect the overall calculated coefficient. As an example and not by way of limitation, if a first user sends an email to a second user, the weight or rating for the activity may be greater than if the first user simply views the profile page for the second user.
[0145] In particular embodiments, the social network system 860 can calculate a coefficient based on the type of relationship between particular objects. Referring to the social graph 900. the social network system 860 can analyze the number and / or type of edges 906 connecting user nodes and concept nodes 904 when calculating a coefficient. As an example and not by way of limitation, user nodes 902 that are connected by a spouse-type edge (representing that two users are married) may receive a higher coefficient than user nodes 902 that are connected by an edge
83/95 of the friend type. In other words, depending on the weights assigned to actions and relationships for the particular user, affinity as a whole can be determined to be higher for content about the user's spouse than for content about the user's friend. In particular embodiments, the relationships that a user has with another object can affect the weights and / or classifications of the user's activities with respect to calculating the coefficient for that object. As an example and not by way of limitation, if a user is tagged in the first photo, but merely likes a second photo, the social networking system 860 can determine that the user has a higher coefficient with respect to the first photo than with respect to the second photograph due to having a marked type relationship with the content can be designated with a higher weight and / or rating than having a like relationship with the content. In particular embodiments, the social networking system 860 can calculate a coefficient for a first user based on the relationship that one or more second users have with a particular object. In other words, the connections and coefficients that other users have with an object can affect the coefficient of the first user for the object. As an example and not by way of limitation, if a first user is connected with or has a high coefficient for one or more second users, and these second users are connected with or have a high coefficient for a particular object, the network system social 860 can determine that the first user must also have a relatively high coefficient for the particular object. In particular embodiments, the coefficient can be based on the degree of separation between particular objects. The lower coefficient can represent the decreasing probability that the first user will share an interest in content objects of the user who is indirectly connected with the first user of the social graph 900. As an example and not by way of limitation,
84/95 the entities on the social graph that are closest on the social graph 900 (that is, less degrees of separation) may have a higher coefficient than entities that are additionally separated on the social graph 900.
[0146] In particular embodiments, the social network system 860 can calculate a coefficient based on location information. Objects that are geographically closer to each other can be considered to be more related or of more interest to each other than more distant objects. In particular embodiments, a user's coefficient toward a particular object can be based on the proximity of the object's location to a current location associated with the user (or the location of a user's 830 client system). A first user may be more interested in other users or concepts that are closer to the first user. As an example and not by way of limitation, if a user is a line away from an airport and two miles from a gas station, the social network system 860 can determine that the user has a higher coefficient for the airport than to the gas station based on the proximity of the airport to the user.
[0147] In particular embodiments, the social network system 860 can perform private actions with respect to a user based on the coefficient information. Coefficients can be used to predict whether a user will perform a particular action based on the user's interest in the action. A coefficient can be used when generating or presenting any type of object to a user, such as advertisements, search results, new stories, media, messages, notifications, or other suitable objects. The coefficient can also be used to classify and order such objects, as appropriate. In this way, the social networking system 860 can provide information that is relevant to the user's current interests and circumstances, increasing the
85/95 likelihood that they will find such information of interest. In particular embodiments, the social network system 860 can generate content based on the coefficient information. Content objects can be provided or selected based on the specific coefficients for a user. As an example and not by way of limitation, the coefficient can be used to generate media for the user, where media can be presented to the user for which the user has a high overall coefficient with respect to the media object. As another example and not by way of limitation, the coefficient can be used to generate advertisements for the user, where the user can receive advertisements for which the user has a high overall coefficient with respect to the advertisement object. In particular embodiments, the social networking system 860 can generate search results based on the coefficient information. Search results for a particular user can be scored or ranked based on the coefficient associated with the search results with respect to the user making the query. As an example and not by way of limitation, search results corresponding to objects with higher coefficients can be ranked more important on a search results page than results corresponding to objects having lower coefficients.
[0148] In particular embodiments, the social networking system 860 can calculate a coefficient in response to a request for a coefficient from a particular system or process. To predict the likely actions that a user can take (or be the subject) in a given situation, any process can request a calculated coefficient for a user. The request may also include a set of weights for use for various factors used to calculate the coefficient. This request may originate from a process running on the online social network, from a third party 870 system (for example, via an API or another communication channel), or from another suitable system. In reply to
86/95 request, the social network system 860 can calculate on the coefficient (or access the coefficient information if it was previously calculated and stored). In particular embodiments, the social networking system 860 can measure an affinity with respect to a particular process. Different processes (both internal and external to the online social network) can request a coefficient for a particular object or group of objects. The social networking system 860 can provide an affinity measure that is relevant to the particular process that requested the affinity measure. In this way, each process receives an affinity measure that is appropriate for the different context in which the process will use the affinity measure.
[0149] In connection with the affinity of the social graph and the affinity coefficients, particular embodiments may use one or more systems, components, elements, functions, methods, operations, or steps disclosed in US Patent Application 11/503093, filed on August 11, 2006, in US Patent Application 12/977027, filed on December 22, 2010, in US Patent Application 12/978265, filed on December 23, 2010, and in US Patent Application 13/632869 , filed on October 1, 2012, each of which is incorporated by reference.
[0150] FIG. 10 illustrates an illustrative computer system 1000. In particular embodiments, one or more computer systems 1000 perform one or more steps of one or more methods described or illustrated in this document. In particular embodiments, one or more computer systems 1000 provide functionality described or illustrated in this document. In particular embodiments, software running on one or more computer systems 1000 performs one or more steps of one or more methods described or illustrated in this document or provides functionality described or illustrated in this document. Particular embodiments include one or more parts of one or more
87/95 plus 1000 computer systems. In this document, reference to a computer system may cover a computing device, and vice versa, where appropriate. In addition, reference to a computer system may cover one or more computer systems, where appropriate.
[0151] This disclosure contemplates any suitable number of computer systems 1000. This disclosure contemplates computer system 1000 assuming any suitable physical form. As an example and not by way of limitation, computer system 1000 can be an embedded computer system, a chip system (SOC), a single board computer system (SBC) (such as, for example, a computer on the module (COM) or system in module (SOM)), a desktop computer system, a laptop or notebook computer system, an interactive kiosk, a large computer, a mesh of computer systems, a cell phone, a digital personal assistant (PDA), a server, a tablet computer system, or a combination of two or more of these. Where appropriate, computer system 1000 may include one or more computer systems 1000; be unitary or distributed, covering multiple locations; span multiple machines; span multiple data centers; or reside in a cloud, which can include one or more components of the cloud in one or more networks. Where appropriate, one or more computer systems 1000 may perform without substantial or spatial limitation one or more steps of one or more methods described or illustrated in this document. As an example and not by way of limitation, one or more computer systems 1000 may perform in real time or in batch mode one or more steps of one or more methods described or illustrated in this document. One or more computer systems 1000 can perform at different times or in different locations one or more steps of one or more methods described or illustrated in this document, where appropriate.
88/95 [0152] In particular embodiments, the computer system 1000 includes a processor 1002, memory 1004, storage 1006, an input / output (I / O) interface 1008, a communication interface 1010, and a bus 1012. While this disclosure describes and illustrates a particular computer system having a particular number of particular components in a particular arrangement, this disclosure contemplates any suitable computer system having any number of any suitable components in any suitable arrangement.
[0153] In particular embodiments, processor 1002 includes hardware for executing instructions, such as these constituting a computer program. As an example and not by way of limitation, to execute instructions, processor 1002 can retrieve (or search) the instructions from an internal register, internal cache, memory 1004, or storage 1006; decode and execute them; and then write one or more results to an internal register, an internal cache, memory 1004, or storage 1006. In particular embodiments, processor 1002 may include one or more internal caches for data, instructions, or addresses. This disclosure contemplates processor 1002 including any suitable number of any suitable internal caches, where appropriate. As an example and not by way of limitation, processor 1002 may include one or more instruction caches, one or more data caches, and one or more “translation lookaside buffers” (TBLs) . Instructions in instruction caches can be copies of instructions in memory 1004 or storage 1006, and instruction caches can speed up the recovery of these instructions by processor 1002. The data in data caches can be copies of data in memory 1004 or storage 1006 to operate in relation to instructions running on processor 1002; the results of previous instructions executed
89/95 on processor 1002 for access by subsequent instructions running on processor 1002 or for writing to memory 1004 or storage 1006; or other suitable data. Data caches can speed up read or write operations by processor 1002. TLBs can speed up virtual address translation for processor 1002. In particular embodiments, processor 1002 can include one or more internal registers for data, instructions, or addresses. This disclosure contemplates processor 1002 including any suitable number of any suitable internal registers, where appropriate. Where appropriate, processor 1002 may include one or more arithmetic logic units (ALUs); be a multi-core processor; or include one or more processors 1002. While this disclosure describes and illustrates a particular processor, this disclosure contemplates any suitable processor.
[0154] In particular embodiments, memory 1004 includes main memory for storing instructions for processor 1002 to execute or data on which processor 1002 operates. As an example and not by way of limitation, computer system 1000 can load instructions from storage 10096 or from another source (such as, for example, another computer system 1000) to memory 1004. Then, processor 1002 you can load the instructions from memory 1004 into an internal register or internal cache. To execute the instructions, processor 1002 can retrieve the instructions from the internal register or the internal cache and decode them. During or after executing the instructions, processor 1002 can record one or more results (which can be intermediate or final results) to the internal register or the internal cache. Processor 1002 can then write one or more of these results to memory 1004. In particular embodiments, processor 1002 executes only instructions on one or more internal registers or internal caches or on memory 1004 (as opposed to storage 1006 or any other
90/95 place) and operates only in relation to the data in one or more internal registers or internal caches or in memory 1004 (as opposed to storage 1006 or elsewhere). One or more memory buses (each of which can include an address bus and a data bus) can couple processor 1002 with memory 1004. Bus 1012 can include one or more memory buses, as described below. In particular embodiments, one or more memory management units (MMUs) reside between processor 1002 and memory 1004 and facilitate access to memory 1004 requested by processor 1002. In particular embodiments, memory 1004 includes random access memory (RAM) . This RAM can be volatile memory, where appropriate. Where appropriate, this RAM can be dynamic RAM (DRAM) or static RAM (SRAM). In addition, where appropriate, this RAM can be single port or multiple port RAM. This disclosure includes any suitable RAM. Memory 1004 can include one or more memories 1004, where appropriate. Although this revelation describes and illustrates particular memory, this revelation contemplates any suitable memory.
[0155] In particular embodiments, storage 1006 includes mass storage for data or instructions. As an example and not by way of limitation, storage 1006 may include a hard disk drive (HDD), a floppy disk drive, flash memory, an optical disk, a magnetic-optical disk, magnetic tape, or a Bus drive Universal Serial (USB) or a combination of two or more of these. Storage 1006 may include removable or non-removable (or fixed) media, where appropriate. Storage 1006 can be internal or external to computer system 1000, where appropriate. In particular embodiments, storage 1006 is non-volatile solid state memory. In particular embodiments, storage 1006 includes read-only memory (ROM). Where appropriate,
91/95 this ROM can be programmed mask ROM, programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), electrically alterable ROM (EAROM), or flash memory or a combination of one or more of these. This disclosure contemplates mass storage 1006 assuming any suitable physical form. Storage 1006 may include one or more storage control units facilitating communication between processor 1002 and storage 1006, where appropriate. Where appropriate, store 1006 may include one or more stores 1006. While this disclosure describes and illustrates particular storage, this disclosure contemplates any suitable storage.
[0156] In particular embodiments, the I / O interface 1008 includes hardware, software, or both, providing one or more interfaces for communication between the computer system 1000 and one or more I / O devices. Computer system 1000 may include one or more of these I / O devices, where appropriate. One or more of these I / O devices may allow communication between a person and the computer system 1000. As an example and not by way of limitation, an I / O device may include a keyboard, keyboard, microphone, monitor , mouse, printer, scanner, speaker, camera, pen, tablet, touchscreen, TrackBall, video camera, other suitable I / O device or a combination of two or more of these. An I / O device can include one or more sensors. This disclosure contemplates any suitable I / O devices and any suitable I / O interfaces 1008 for them. Where appropriate, the I / O interface 1008 may include one or more devices or software controllers enabling the processor 1002 to drive one or more of these I / O devices. The I / O interface 1008 may include one or more I / O interfaces 1008, where appropriate. Despite this revelation
92/95 describe and illustrate a particular I / O interface, this disclosure contemplates any suitable I / O interfaces.
[0157] In particular embodiments, communication interface 1010 includes hardware, software, or both providing one or more interfaces for communication (such as, for example, packet-based communication) between computer system 1000 and one or more other systems 1000 computer or one or more networks. As an example and not by way of limitation, the 1010 communication interface may include a network interface controller (NIC) or network adapter for communicating with an Ethernet network or other wired network Lou a non-wired NIC (WNIC) or wireless adapter to communicate with a wireless network, such as a WI-FI network. This disclosure contemplates any suitable network and any communication interface 1010 suitable for it. As an example and not by way of limitation, the computer system 1000 can communicate with a computer-computer network, a personal area network (PAN), a local area network (LAN), a wide area network ( WAN), a metropolitan area network (MAN), or one or more parts of the Internet or a combination of two or more of these. One or more parts of one or more of these networks can be wired or wireless. As an example, the computer system 1000 can communicate with a wireless PAN (WPAN) (such as, for example, an EPAN BLUETOOTH), a WI-FI network, a WI-MAX network, a telephone network cellular (such as, for example, a Global System for Mobile Communications (GSM) network, or another suitable wireless network or a combination of one or more of these. The computer system 1000 may include any suitable 1010 communication interface for any of these networks, where appropriate. The 1010 communication interface may include one or more 1010 communication interfaces, where appropriate. Although this disclosure describes and illustrates a
93/95 private communication, this disclosure contemplates any suitable communication interface.
[0158] In particular embodiments, bus 1012 includes hardware, software, or both coupling components of the computer system 1000 with each other. As an example and not by way of limitation, the 1012 bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Advanced Industry Standard Architecture (EISA) bus, a forward bus (FSB), an interconnect from HYPERTRANSPORT (HT), an Industry Standard Architecture (ISA) bus, an INFINIBAND interconnect, a memory bus, a Micro Channel Architecture (MC) bus, a Peripheral Component Interconnect (PCI) bus, a PCIExpress bus (PCIe), an advanced serial technology (SATA) connection bus, an Electronic Video Standards Association (VLB) local bus, or other suitable bus or combination of two or more of these. The 1012 bus may include one or more 1012 buses, where appropriate. Although this disclosure describes and illustrates a particular bus, this disclosure contemplates any suitable bus or interconnection.
[0159] In this document, a computer-readable non-temporary storage medium or medium may include one or more semiconductor-based integrated circuits (ICs) or other circuits (such as, for example, field programmable port arrangements (FPGAs) or Application specific ICs (ASICs), hard drives (HDDs), hybrid hard drives (HHDs), optical discs, optical disc drives (ODDs), magnetic - optical drives, magnetic - optical drives, floppy disks, drives floppy disk drives (FDDs), magnetic tapes, solid state drives (SSDs), RAM drives, secure cards or DIGITAL drives, any other computer-readable non-temporary storage medium, or any combination of two or more of these, where
94/95 appropriate. Computer-readable non-temporary media and storage may be volatile, non-volatile, or a combination of volatile and non-volatile, where appropriate.
[0160] In this document, “or” is inclusive and not exclusive, unless expressly indicated otherwise or otherwise indicated by the context. Therefore, in this document, “A or B” means “A, B, or both”, unless expressly stated otherwise or otherwise indicated by context. In addition, "e" is both union and several, unless expressly indicated otherwise or otherwise indicated by the context. Therefore, in this document, "A and B" means "A and B, together or separately" unless expressly stated otherwise or otherwise indicated by the context.
[0161] The scope of this disclosure covers all changes, substitutions, variations, permutations and modifications to the illustrative embodiments described or illustrated in this document that a person having common knowledge in the art would understand. The scope of this disclosure is not limited to the illustrative embodiments described or illustrated in this document. In addition, while this disclosure describes and illustrates the respective embodiments in this document as including particular components, elements, functions, operations or steps, any of these embodiments may include any combination or permutation of any of the components, elements, functions, operations, or steps described or illustrated anywhere in this document that a person having common knowledge in the art would understand. Additionally, reference in the claims attached to an apparatus or system or to a component of an apparatus or system being adapted for, arranged for, capable of, configured for, enabled for, operable for, or operative to perform a particular function covers this apparatus, system, component, whether or not this particular function is activated, switched on, or unlocked, provided that the device, system, or component is thus adapted, arranged, capable,
95/95 configured, enabled, or operative.
权利要求:
Claims (20)
[1]
1. Method, CHARACTERIZED by understanding:
by the computing device, receive a history of interaction with the home screen from a device associated with a user of a social networking system;
by the computing device, determine an order for several frames of content based on the history of interaction with the home screen, the user information related to the user and the device information related to the device; and through the computing device, send the order for the content frames to the device.
[2]
2. Method, according to claim 1, CHARACTERIZED by the fact that the history of interaction with the home screen comprises information regarding: which frames of content the user viewed, which frames of content still have content that is waiting for completion transfer order, what is the current order for content frames, how long has the user viewed a particular content frame, whether the user has interacted with the content frame, whether the user has jumped back to bring a previously viewed content frame , whether the user has placed a favorite address or marked a particular content frame.
[3]
3. Method, according to claim 1, CHARACTERIZED by the fact that the device information comprises information about events based on the device and on the condition of the device, information comprising: network connectivity condition, power condition, or records occurrence of recent device transactions involving user social connections.
[4]
4. Method, according to claim 1, CHARACTERIZED by the fact that the order determination for the content tables is based on the history
2/6 interaction with the home screen, the short time of occurrence of content included in the content frames, the popularity of the content, the relevance of the content to the user, or the events based on the device.
[5]
5. Method, according to claim 1, CHARACTERIZED by the fact and that the order of the content frames includes one or more content frames, additionally comprising:
retrieve content associated with the user;
compose new content frames using the recovered content; and send the new content frames to the device.
[6]
6. Method, according to claim 5, CHARACTERIZED by the fact that the recovery of the content associated with the user is based on the history of interaction with the home screen, the device information or the user information.
[7]
7. Method, according to claim 1, CHARACTERIZED by the fact that the order for the content frames includes one or more updates for previously provided content frames, additionally comprising:
retrieve updates for content associated with the user;
compose updates to the previously provided content frames using retrieved updates; and send updates to the content frames previously provided to the device.
[8]
8. Method, according to claim 7, CHARACTERIZED by the fact that the retrieval of updates for the content associated with the user is based on the interaction history with the home screen, the device information or the user information.
[9]
9. Method, according to claim 1, CHARACTERIZED by the fact that
3/6 additionally understand:
receive an update to the order for the content frames from the device.
[10]
10. Method, according to claim 9, CHARACTERIZED by the fact that the update received for the content frame order is based on one or more factors: which content cards have been completely transferred and cached on the mobile device; which content frames have background images whose orientation matches the current orientation of the mobile device, which content frames include content associated with a user's social connection, where the mobile device recently received content associated with a user's social connection, where the device mobile recently received or sent a communication associated with the social connection, or if the current condition of the device is conducive to the presentation of a particular content framework.
[11]
11. One or more non-temporary, computer-readable storage media, CHARACTERIZED by the fact that it incorporates software that is operable when executed for:
receive a history of interaction with the home screen from a device associated with a user and a social networking system;
determine an order for various content frames based on the history of interaction with the home screen, user information related to the user, and device information related to the device; and send the order for the content frames to the device.
[12]
12. Medium, according to claim 11, CHARACTERIZED by the fact that the history of interaction with the home screen comprises information with respect to: which frames of content the user viewed, which frames of content still have content that is waiting for completion transfer order, what is the current order for content frames, how long ago the user viewed a
4/6 private content frame, whether the user interacted with the content frame, whether the user jumped back to bring up a previously viewed content frame, whether the user placed it on the list of preferred addresses or marked a particular content frame.
[13]
13. Medium, according to claim 11, CHARACTERIZED by the fact that the information of the device comprises information about events based on the device and on the condition of the device, the information comprising: network connectivity condition, power condition, or records occurrence of recent device transactions involving user social connections.
[14]
14. Medium, according to claim 11, CHARACTERIZED by the fact that the determination of the order for the content frames is based on the interaction history with the initial screen, in the short time of occurrence of the content included in the content frames, in popularity of content, disclosure of content to the user, or device-based events.
[15]
15. Medium, according to claim 11, CHARACTERIZED by the fact that the order for the content frames includes one or more new content frames, and where the software is additionally operable when run for:
retrieve content associated with the user;
compose new content frames using the recovered content; and send the new content frames to the device.
[16]
16. Medium, according to claim 15, CHARACTERIZED by the fact that the recovery of the contents associated with the user is based on the history of interaction with the home screen, the device information or the user information.
[17]
17. System, CHARACTERIZED by understanding:
one or more processors; and a memory coupled with the processors comprising instructions
5/6 executable by processors, processors being operable when executing instructions for:
receive a history of interaction with the home screen from a device associated with a user of a social networking system;
determine an order for various content frames based on the history of interaction with the home screen, user information related to the user, and device information related to the device; and send the order for the content frames to the device.
[18]
18. System, according to claim 17, CHARACTERIZED by the fact that the order for the content frames includes one or more updates for previously provided content frames, and where the processors are additionally operable when executing the instructions for:
retrieve updates for content associated with the user;
compose updates to previously provided content frames using the retrieved updates; and send updates to the content frames previously provided to the device.
[19]
19. System, according to claim 17, CHARACTERIZED by the fact that retrieving updates for the content associated with the user is based on the history and interaction with the home screen, device information or user information.
[20]
20. System, according to claim 17, CHARACTERIZED by the fact that it additionally comprises:
receive an update to the order for the content frames from the device, where the update received for the content frame order is based on one or more factors: which content frames have been completely downloaded and cached on the mobile device ; which frames of
6/6 contents have background images whose orientation corresponds to the current orientation of the mobile device; which content frames include content associated with a user's social connection, where the mobile device recently received or sent a communication associated with the social connection, or whether the current condition of the device is conducive to the presentation of a particular content frame.
类似技术:
公开号 | 公开日 | 专利标题
US11137869B2|2021-10-05|Re-ranking story content
US10630796B2|2020-04-21|Conserving battery and data usage
US10249007B2|2019-04-02|Social cover feed interface
US10423984B2|2019-09-24|Sponsored stories in notifications
AU2013370178B2|2018-04-05|Conserving battery and data usage
JP2019049984A|2019-03-28|Social cover feed interface
JP6531156B2|2019-06-12|Providing content in time slots on client computing devices
US20150160808A1|2015-06-11|Zoom Interactions in a User Interface
US11062362B2|2021-07-13|Generating dynamic communication threads based on user interaction with sponsored digital content
同族专利:
公开号 | 公开日
AU2013370175B2|2019-08-15|
CN105074687A|2015-11-18|
EP2939139B1|2020-08-12|
JP2016507820A|2016-03-10|
WO2014106180A1|2014-07-03|
IL239587D0|2015-08-31|
MX364284B|2019-04-22|
MX2015008447A|2016-04-04|
US10649607B2|2020-05-12|
US20200249784A1|2020-08-06|
US20140189539A1|2014-07-03|
EP2939139A1|2015-11-04|
US11137869B2|2021-10-05|
KR20150103179A|2015-09-09|
EP2939139A4|2016-11-30|
AU2013370175A1|2015-08-06|
JP6401185B2|2018-10-03|
CA2895261A1|2014-07-03|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题

US6763379B1|1999-10-14|2004-07-13|Ideaflood, Inc.|System, apparatus and method for presenting and displaying content on a wide area network|
WO2004079597A1|2003-03-07|2004-09-16|Nokia Corporation|A method and a device for frequency counting|
JP2006099532A|2004-09-30|2006-04-13|Nec Personal Products Co Ltd|Information processor, image data output method and program|
US8090776B2|2004-11-01|2012-01-03|Microsoft Corporation|Dynamic content change notification|
US7620902B2|2005-04-20|2009-11-17|Microsoft Corporation|Collaboration spaces|
KR100719364B1|2005-05-23|2007-05-17|삼성전자주식회사|Video scaler having minimum output memory and method for selecting the same|
US7991764B2|2005-07-22|2011-08-02|Yogesh Chunilal Rathod|Method and system for communication, publishing, searching, sharing and dynamically providing a journal feed|
US8417569B2|2005-11-30|2013-04-09|John Nicholas and Kristin Gross Trust|System and method of evaluating content based advertising|
CN101366029A|2005-12-23|2009-02-11|费斯布克公司|Systems and methods for generating a social timeline|
CN101005463A|2006-01-17|2007-07-25|千橡世纪科技发展(北京)有限公司|System and method for sending information to table-top system in browsing device net page|
US7680478B2|2006-05-04|2010-03-16|Telefonaktiebolaget Lm Ericsson |Inactivity monitoring for different traffic or service classifications|
US8171128B2|2006-08-11|2012-05-01|Facebook, Inc.|Communicating a newsfeed of media content based on a member's interactions in a social network environment|
US8359276B2|2006-09-20|2013-01-22|Microsoft Corporation|Identifying influential persons in a social network|
US8230361B2|2006-09-28|2012-07-24|Google Inc.|Content feed user interface|
US8315616B2|2006-10-24|2012-11-20|International Business Machines Corporation|Mobile device solution that provides enhanced user control for outgoing data handling|
US20090012841A1|2007-01-05|2009-01-08|Yahoo! Inc.|Event communication platform for mobile device users|
US8041780B2|2007-03-29|2011-10-18|Alcatel Lucent|Method and apparatus for dynamically pushing content over wireless networks|
JP5345768B2|2007-06-29|2013-11-20|シャープ株式会社|Content distribution method, server, terminal, and content distribution system|
US20090021486A1|2007-07-19|2009-01-22|Apple Inc.|Dashboard Surfaces|
US8245155B2|2007-11-29|2012-08-14|Sony Corporation|Computer implemented display, graphical user interface, design and method including scrolling features|
US20090182618A1|2008-01-16|2009-07-16|Yahoo! Inc.|System and Method for Word-of-Mouth Advertising|
JP2009212997A|2008-03-06|2009-09-17|Nec Corp|Communication terminal apparatus, display method, and display processing program or the like|
DK2291745T3|2008-04-15|2013-08-19|Foresee Results|Method and medium for remotely tracking user interaction with a web page|
US8364664B2|2008-05-12|2013-01-29|Enpulz, L.L.C.|Web browser accessible search engine that identifies search result maxima through user search flow and result content comparison|
US8086275B2|2008-10-23|2011-12-27|Microsoft Corporation|Alternative inputs of a mobile communications device|
US8411046B2|2008-10-23|2013-04-02|Microsoft Corporation|Column organization of content|
US9197738B2|2008-12-04|2015-11-24|Microsoft Technology Licensing, Llc|Providing selected data through a locked display|
CN102790831B|2009-02-13|2015-11-04|宏达国际电子股份有限公司|In order to prompting and method and the mobile communications device of browsing coordinator relevant information|
US9110953B2|2009-03-04|2015-08-18|Facebook, Inc.|Filtering content in a social networking service|
KR101667415B1|2009-04-02|2016-10-18|삼성전자주식회사|Apparatus and method for managing personal social network in a mobile terminal|
US20100280904A1|2009-05-01|2010-11-04|Sumit Pradeep Ahuja|Social marketing and networking tool with user matching and content broadcasting / receiving capabilities|
KR101590189B1|2009-05-21|2016-01-29|엘지전자 주식회사|Method for controlling menu in mobile terminal and mobile terminal using the same|
US8555173B2|2009-05-31|2013-10-08|Linkedin Corporation|Recommendation engine|
US8902149B2|2009-06-17|2014-12-02|Sharp Laboratories Of America, Inc.|Methods and systems for power control event responsive display devices|
US8478728B2|2009-06-24|2013-07-02|True Union, LLC|Online dating with private support groups|
US8539161B2|2009-10-12|2013-09-17|Microsoft Corporation|Pre-fetching content items based on social distance|
WO2011052083A1|2009-10-30|2011-05-05|パイオニア株式会社|Play list generation device, play list generation method, play list generation program, and recording medium|
US8312500B2|2009-11-25|2012-11-13|Century Link Intellectual Property LLC|System and method for social network chat via a set-top box|
US8688826B2|2009-11-30|2014-04-01|Motorola Mobility Llc|Mobile computing device and method with intelligent pushing management|
GB0921559D0|2009-12-09|2010-01-27|Omnifone Ltd|Behaviour-adaptive intelligent synchronisation of media content files|
JP2011130104A|2009-12-16|2011-06-30|Samsung Electronics Co Ltd|Information processor, display control method, and program|
CN102109945B|2009-12-25|2013-01-16|联想有限公司|Portable electronic equipment provided with touch screen and control method thereof|
US8606792B1|2010-02-08|2013-12-10|Google Inc.|Scoring authors of posts|
US8584021B2|2010-02-26|2013-11-12|Microsoft Corporation|Displaying feed data|
US8341534B2|2010-03-05|2012-12-25|Palo Alto Research Center Incorporated|System and method for flexibly taking actions in response to detected activities|
US9367615B2|2010-03-12|2016-06-14|Aol Inc.|Systems and methods for organizing and displaying electronic media content|
CN106383827B|2010-03-23|2020-01-07|谷歌有限责任公司|Organizing social activity information on a site|
US8554756B2|2010-06-25|2013-10-08|Microsoft Corporation|Integrating social network data with search results|
US8386915B2|2010-07-26|2013-02-26|Rockmelt, Inc.|Integrated link statistics within an application|
US20120030018A1|2010-07-28|2012-02-02|Aol Inc.|Systems And Methods For Managing Electronic Content|
US8824748B2|2010-09-24|2014-09-02|Facebook, Inc.|Auto tagging in geo-social networking system|
US20120079606A1|2010-09-24|2012-03-29|Amazon Technologies, Inc.|Rights and capability-inclusive content selection and delivery|
JP2014503891A|2010-12-10|2014-02-13|ヨタデバイセズアイピーアールリミテッド|Mobile device having user interface|
US9027117B2|2010-10-04|2015-05-05|Microsoft Technology Licensing, Llc|Multiple-access-level lock screen|
US20120133486A1|2010-11-29|2012-05-31|Park Seungyong|Mobile terminal and method of controlling the same|
US9153000B2|2010-12-13|2015-10-06|Microsoft Technology Licensing, Llc|Presenting content items shared within social networks|
US8732240B1|2010-12-18|2014-05-20|Google Inc.|Scoring stream items with models based on user interests|
US20120158499A1|2010-12-21|2012-06-21|Google Inc.|Providing Advertisements on a Social Network|
US9071925B2|2011-01-05|2015-06-30|Alcatel Lucent|System and method for communicating data between an application server and an M2M device|
EP2479686B1|2011-01-24|2014-09-17|AOL Inc.|Systems and methods for analyzing and clustering search queries|
US8606776B2|2011-02-18|2013-12-10|Google Inc.|Affinity based ranked for search and display|
US8346217B2|2011-02-21|2013-01-01|Knowledge Solutions, LLC|Systems, methods and apparatus for controlling access to mobile devices|
CN102685026A|2011-03-11|2012-09-19|北京千橡网景科技发展有限公司|Method and device for user to reduce possibility of missing friend trends|
US8825842B2|2011-04-28|2014-09-02|Facebook, Inc.|Managing notifications pushed to user devices|
US9606643B2|2011-05-02|2017-03-28|Microsoft Technology Licensing, Llc|Extended above the lock-screen experience|
KR20120126161A|2011-05-11|2012-11-21|삼성전자주식회사|Mobile terminal and method for controlling screen using the same|
AU2011202182B1|2011-05-11|2011-10-13|Frequency Ip Holdings, Llc|Creation and presentation of selective digital content feeds|
US9268857B2|2011-06-03|2016-02-23|Facebook, Inc.|Suggesting search results to users before receiving any search query from the users|
US9183573B2|2011-06-03|2015-11-10|Facebook, Inc.|Überfeed|
US9652469B2|2011-06-04|2017-05-16|Microsoft Technology Licensing, Llc|Clustered file service|
US9220066B2|2011-06-20|2015-12-22|At&T Intellectual Property I, L.P.|Bundling data transfers and employing tail optimization protocol to manage cellular radio resource utilization|
US9886567B2|2011-06-24|2018-02-06|Facebook, Inc.|Display dynamic contents on locked screens|
CN102891826B|2011-06-27|2015-09-30|华为技术有限公司|The control method of web page access, equipment and system|
US8549047B2|2011-08-25|2013-10-01|Salesforce.Com, Inc.|Computer implemented methods and apparatus for feed-based case management|
US20130069962A1|2011-09-15|2013-03-21|Microsoft Corporation|Active Lock Wallpapers|
US8756500B2|2011-09-20|2014-06-17|Microsoft Corporation|Dynamic content feed filtering|
US8949739B2|2011-10-28|2015-02-03|Microsoft Technology Licensing, Llc|Creating and maintaining images of browsed documents|
US8762875B2|2011-12-23|2014-06-24|Blackberry Limited|Posting activity visualization|
US9167197B1|2012-01-03|2015-10-20|Google Inc.|Providing a multi-pane display|
US9055115B2|2012-01-24|2015-06-09|International Business Machines Corporation|Content volume throttling in feed aggregators|
US20130262320A1|2012-03-30|2013-10-03|Sap Ag|Systems and methods for customer relationship management|
KR101194766B1|2012-04-26|2012-10-25|메타빌드주식회사|Method for integrated management of social networking service and system therefor|
US20140012619A1|2012-07-09|2014-01-09|Salesforce.Com Inc.|Systems and methods for customizing content feeds|
US9378393B2|2012-08-02|2016-06-28|Facebook, Inc.|Systems and methods for multiple photo fee stories|
US20140052540A1|2012-08-20|2014-02-20|Giridhar Rajaram|Providing content using inferred topics extracted from communications in a social networking system|
US20140156668A1|2012-12-04|2014-06-05|Linkedin Corporation|Apparatus and method for indexing electronic content|
US20140164504A1|2012-12-10|2014-06-12|Parlant Technology, Inc.|System and method for providing customizable communications|
US10761672B2|2012-12-28|2020-09-01|Facebook, Inc.|Socialized dash|
US9781223B2|2012-12-28|2017-10-03|Facebook, Inc.|Conserving battery and data usage|
US10649607B2|2012-12-28|2020-05-12|Facebook, Inc.|Re-ranking story content|
US10249007B2|2012-12-28|2019-04-02|Facebook, Inc.|Social cover feed interface|US8121618B2|2009-10-28|2012-02-21|Digimarc Corporation|Intuitive computing methods and systems|
US9484046B2|2010-11-04|2016-11-01|Digimarc Corporation|Smartphone-based methods and systems|
US9563336B2|2012-04-26|2017-02-07|Liveperson, Inc.|Dynamic user interface customization|
US9330419B2|2012-05-01|2016-05-03|Oracle International Corporation|Social network system with social objects|
US11023536B2|2012-05-01|2021-06-01|Oracle International Corporation|Social network system with relevance searching|
US10444836B2|2012-06-07|2019-10-15|Nook Digital, Llc|Accessibility aids for users of electronic devices|
US20140026101A1|2012-07-20|2014-01-23|Barnesandnoble.Com Llc|Accessible Menu Navigation Techniques For Electronic Devices|
US8595317B1|2012-09-14|2013-11-26|Geofeedr, Inc.|System and method for generating, accessing, and updating geofeeds|
US9619845B2|2012-12-17|2017-04-11|Oracle International Corporation|Social network system with correlation of business results and relationships|
US10249007B2|2012-12-28|2019-04-02|Facebook, Inc.|Social cover feed interface|
US10761672B2|2012-12-28|2020-09-01|Facebook, Inc.|Socialized dash|
US10649607B2|2012-12-28|2020-05-12|Facebook, Inc.|Re-ranking story content|
US9781223B2|2012-12-28|2017-10-03|Facebook, Inc.|Conserving battery and data usage|
US20140215339A1|2013-01-28|2014-07-31|Barnesandnoble.Com Llc|Content navigation and selection in an eyes-free mode|
US9971495B2|2013-01-28|2018-05-15|Nook Digital, Llc|Context based gesture delineation for user interaction in eyes-free mode|
US9479473B2|2013-04-30|2016-10-25|Oracle International Corporation|Social network system with tracked unread messages|
US20150019653A1|2013-07-15|2015-01-15|Civolution B.V.|Method and system for adding an identifier|
US9354778B2|2013-12-06|2016-05-31|Digimarc Corporation|Smartphone-based methods and systems|
US20150213148A1|2014-01-28|2015-07-30|Jeffrey Blemaster|Systems and methods for browsing|
US9311639B2|2014-02-11|2016-04-12|Digimarc Corporation|Methods, apparatus and arrangements for device to device communication|
US9787799B2|2014-02-27|2017-10-10|Dropbox, Inc.|Systems and methods for managing content items having multiple resolutions|
US10885104B2|2014-02-27|2021-01-05|Dropbox, Inc.|Systems and methods for selecting content items to store and present locally on a user device|
US9531793B2|2014-02-28|2016-12-27|Microsoft Technology Licensing, Llc|Displaying and navigating implicit and explicit enterprise people relationships|
US20150248734A1|2014-02-28|2015-09-03|Microsoft Corporation|Displaying activity streams for people and groups in an enterprise|
US9147051B2|2014-03-03|2015-09-29|Palo Alto Research Center Incorporated|Method and apparatus for maintaining content view statistics in a named data network|
US9710151B2|2014-05-21|2017-07-18|International Business Machines Corporation|Evaluation of digital content using non-intentional user feedback obtained through haptic interface|
US9323331B2|2014-05-21|2016-04-26|International Business Machines Corporation|Evaluation of digital content using intentional user feedback obtained through haptic interface|
US9600073B2|2014-05-21|2017-03-21|International Business Machines Corporation|Automated adjustment of content composition rules based on evaluation of user feedback obtained through haptic interface|
EP3793178A1|2014-05-23|2021-03-17|Samsung Electronics Co., Ltd.|System and method of providing voice-message call service|
US9432314B2|2014-08-15|2016-08-30|Microsoft Technology Licensing, Llc|Quick navigation of message conversation history|
FR3026884B1|2014-10-02|2018-01-12|Immersion|ATTENTION ATTRACTOR DISPLAY METHOD AND DEVICE|
US11055749B1|2014-12-19|2021-07-06|Nativo, Inc.|In-feed frame to display ads or other externally-hosted content|
CN104572960B|2014-12-29|2018-07-06|北京奇虎科技有限公司|A kind of method and device of search|
US9928556B2|2014-12-31|2018-03-27|Facebook, Inc.|Content quality evaluation and classification|
CN105991411B|2015-02-13|2021-11-02|北京创新方舟科技有限公司|Social method and social network system|
US20160239155A1|2015-02-18|2016-08-18|Google Inc.|Adaptive media|
KR20160105239A|2015-02-27|2016-09-06|삼성전자주식회사|Electronic device and method for displaying picture thereof|
CN104820541B|2015-05-25|2017-04-05|腾讯科技(深圳)有限公司|The method and device that a kind of reference content shows|
KR101667796B1|2015-07-21|2016-10-20|네이버 주식회사|Method, system and recording medium for providing real-time change aspect of search result|
US9485318B1|2015-07-29|2016-11-01|Geofeedia, Inc.|System and method for identifying influential social media and providing location-based alerts|
US10565272B2|2015-10-26|2020-02-18|International Business Machines Corporation|Adjusting system actions, user profiles and content in a social network based upon detected skipped relationships|
US10198355B2|2015-10-29|2019-02-05|Dropbox, Inc.|Proving a dynamic digital content cache|
US10482090B2|2015-11-16|2019-11-19|Facebook, Inc.|Ranking and filtering comments based on feed interaction history|
US10623517B2|2015-12-29|2020-04-14|Oath Inc.|Content prefetching and cache management|
KR20170082254A|2016-01-06|2017-07-14|삼성전자주식회사|Method for managing data and apparatus thereof|
US10643148B2|2016-06-02|2020-05-05|Facebook, Inc.|Ranking of news feed in a mobile device based on local signals|
WO2018030554A1|2016-08-08|2018-02-15|라인 가부시키가이샤|Method and system for providing message-based notification|
CN107038201A|2016-12-26|2017-08-11|阿里巴巴集团控股有限公司|Display methods, device, terminal and the server of personal homepage|
US10198413B2|2016-12-30|2019-02-05|Dropbox, Inc.|Image annotations in collaborative content items|
US11270337B2|2017-11-08|2022-03-08|ViralGains Inc.|Machine learning-based media content sequencing and placement|
US10983677B2|2018-11-16|2021-04-20|Dropbox, Inc.|Prefetching digital thumbnails from remote servers to client devices based on a dynamic determination of file display criteria|
US10757054B1|2019-05-29|2020-08-25|Facebook, Inc.|Systems and methods for digital privacy controls|
US10789553B1|2019-12-30|2020-09-29|Accenture Global Solutions Limited|Experience orchestration|
法律状态:
2018-11-13| B06F| Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]|
2020-02-04| B15I| Others concerning applications: loss of priority|Free format text: PERDA DA PRIORIDADE US 13/729,634 DE 28/12/2012 REIVINDICADA NO PCT/US2013/078302 DEVIDO A NAO APRESENTACAO DO CONTEUDO DO DOCUMENTO DE PRIORIDADE JUNTO AO REQUERIMENTO DE ENTRADA NA FASE NACIONAL E O MESMO TAMBEM NAO ESTAR DISPONIVEL NA BIBLIOTECA DIGITAL DA OMPI, CONFORME AS DISPOSICOES PREVISTAS NA LEI 9.279 DE 14/05/1996 (LPI) ART. 164O E NO ART. 26 DA RESOLUCAO INPI-PR 77/2013.PERDA DA PRIORIDADE US 61/808,208 DE 03/04/2013 REIVINDICADA NO PCT/US2013/078302 POR NAO CUMPRIMENTO DA EXIGENCIA PUBLICADA NA RPI 2547 DE 29/10/2019 PARA APRESENTACAO DE DOCUMENTO DE CESSAO |
2020-02-11| B06U| Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]|
2020-08-11| B11B| Dismissal acc. art. 36, par 1 of ipl - no reply within 90 days to fullfil the necessary requirements|
2021-10-13| B350| Update of information on the portal [chapter 15.35 patent gazette]|
优先权:
申请号 | 申请日 | 专利标题
US13/729,634|US10761672B2|2012-12-28|2012-12-28|Socialized dash|
US201361808208P| true| 2013-04-03|2013-04-03|
US14/064,079|US10649607B2|2012-12-28|2013-10-25|Re-ranking story content|
PCT/US2013/078302|WO2014106180A1|2012-12-28|2013-12-30|Re-ranking story content|
[返回顶部]